簡體   English   中英

如何在 Java 的同一行中將兩個或一個整數作為輸入?

[英]How can I take either two or one integer as input on the same line in Java?

例如,如何取值1 0或僅取值2然后在程序的后期使用。 假設1將數字0添加到列表中,而2打印出一個短語。 現在我只知道如何使用在同一行上取兩個數字

Scanner sc = new Scanner(System.in); // receives input for x y
int x = Integer.parseInt(sc.next());
int y = Integer.parseInt(sc.next());

只需在術語之間放置空格:

Scanner scanner = new Scanner(System.in);
int[] values = new int[2];
String[] arguments = scanner.nextLine().split(" ");
for(int i = 0; i < arguments.length && i < values.length; i++){
    values[i] = Integer.parseInt(arguments[i]);
}
scanner.close();

在第 2 行,您指定最大輸入

在“”的第 3 行,您可以指定術語之間的內容

在第 2 行和第 5 行,您可以指定術語類型

只是添加到@Devon Rutledge的答案中,該 Scanner 類在標記(在本例中為數字)之間有 1 個或多個空格的情況下分隔標記。

因此,正如上面提到的 Devon,您應該在輸入之間添加空格。

但是,上面發布的答案的工作方式與正常的sc.next()完全相同,盡管存在一個問題,即如果您在輸入之間輸入兩個空格,則會出現五個錯誤。 所以你的代碼本身沒有問題,但只是輸入。

如果你確實想接受沒有空格的個位數,那么你可以試試這個:

Scanner sc = new Scanner(System.in);
sc.useDelimiter("");
int x = sc.nextInt();
int y = sc.nextInt();

此外,最好使用sc.nextInt()sc.next()甚至會接受的字母,這不能不能轉換為int

暫無
暫無

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

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