不知道如何阻止這種情況,同時循環(huán)無限重復。我用來檢查用戶輸入是否是int。如果未輸入 int,則循環(huán)將無限重復。hasNextIntpublic static void validatingInput(){ Scanner scan = new Scanner(System.in); boolean valid = false; int userNumber = 0; while(!valid) { System.out.println("Enter number between 1 and 20: "); if (scan.hasNextInt()) { userNumber = scan.nextInt(); valid = true; } else System.out.print("Not an int. "); }}
2 回答

滄海一幻覺
TA貢獻1824條經(jīng)驗 獲得超5個贊
您需要使用掃描程序中的令牌,以允許它讀取下一個令牌:
while (!valid) {
System.out.println("Enter number between 1 and 20: ");
if (scan.hasNextInt()) {
userNumber = scan.nextInt();
valid = true;
} else
System.out.print("Not an int. ");
scan.next(); // Skip a token
}
}
添加回答
舉報
0/150
提交
取消