1
我的標題有點差,但這是問題。我正在使用Scanner類獲取2個輸入,包括整數。如果一個不是整數,它會告訴用戶輸入另一個輸入。這適用於第一個整數,但在第二個整數(以及任何連續的整數)上工作正常,它會將文本打印兩次。雖然循環檢查掃描儀中的整數在第二次運行時激活兩次
代碼:
public class Project1 {
public static void main(String[] args) {
// creates a new scanner
Scanner scanner = new Scanner(System.in);
// rejects input if the first token is not an integer
System.out.println("Enter the first integer:");
while(!scanner.hasNextInt()) {
scanner.nextLine();
System.out.println("That's not an integer, please enter again:");
}
// stores integer in variable when first token is an integer
int num1 = scanner.nextInt();
/* ======== repeats for second integer ======== */
System.out.println("Enter the second integer:");
while(!scanner.hasNextInt()) {
scanner.nextLine();
System.out.println("That's not an integer, please enter again:");
}
// stores integer in variable when first token is an integer
int num2 = scanner.nextInt();
System.out.println(num1 + num2);
}
}
這裏的結果:
"Enter the first integer:"
>1.2
"That's not an integer, please enter again:"
>1
"Enter the second integer:"
>2.3
"That's not an integer, please enter again:"
"That's not an integer, please enter again:"
>2
"3"
爲什麼它的第二個整數重複兩次?