簡體   English   中英

如何將用戶輸入的單行輸出為多行?

[英]How can I output a single line of user input into multiple lines?

因此,基本上,我試圖讀取一行的用戶輸入,但是當我返回輸入時,將其按空格分開。 例如:

用戶輸入:35 56 78 N

所需的輸出:

35

56

78

ñ

到目前為止,我有:

import java.util.Scanner;
public class GeographicCoordinatesExtractor {
    public static void main(String[] args) {
        System.out.println("Hello and welcome to my program");
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter geographical coordinates: ");
        String data = sc.next();
        sc.useDelimiter(" ");
        String value = data.split(" ")[0];

        while (sc.hasNext()) {
            String sec = sc.next();

            System.out.println(value + "\n" + sec );
        }

    }}

我得到:35

56

35

78

代替:

35

56

78

ñ

由於您希望輸入一行,因此為什么要使用Scanner#next
只需使用Scanner#nextLine ,然后拆分結果,並循環生成的String數組。

final String data = sc.nextLine();                  // 35 56 78 N
final String[] values = data.trim().split(" ");     // [35, 56, 78, N]

for (final String v : values) {
    System.out.println(v);
}

這是因為最后一個元素之間沒有空格。 如果您有35 56 78 N,那么前三個將被注冊,因為它們后面有空格,但N之后沒有空格。我建議使用子字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM