我正在編寫命令行程序,並希望讓用戶輸入有效的年齡(整數)。通過使用掃描儀類,我有這樣的事情:檢查用戶是否輸入整數
int getAge() {
Scanner = new Scanner(System.in);
int age;
boolean isValid = false;
while(!isValid) {
System.out.println("Please enter your age");
if (myScanner.hasNext()) {
if (myScanner.hasNextInt()) {
age = myScanner.nextInt();
isValid = true;
} else {
System.out.println("Please enter an integer");
}
}
}
return age;
}
的問題是,雖然在循環它不斷讀取輸入,而不必等待新的價值。我怎樣才能解決這個問題?