3 回答

TA貢獻1802條經驗 獲得超6個贊
將其他更改為:
else {
System.out.println("Invalid entry");
input.nextLine();
}
因此,對于無效輸入,您需要將光標移動到下一行,以便您可以再次接受輸入。

TA貢獻1895條經驗 獲得超3個贊
但我建議您為負整數情況添加另一條警告消息,并將此代碼移動到單獨的方法中。
public static int getMaxStudents(Scanner scan) {
do {
System.out.print("Maximum number of Students: ");
if (scan.hasNextInt()) {
int maxStudents = scan.nextInt();
if (maxStudents > 0)
return maxStudents;
}
System.out.println("Enter a valid positive integer number");
scan.nextLine(); // <-- this is mandatory
} while (true);
}

TA貢獻1799條經驗 獲得超8個贊
do {
System.out.println("Maximum number of Students:");
if(input.hasNextInt()) {
maxstudents = input.nextInt();
if (maxstudents > 0) {
break;
}
}
else {
System.out.println("Invalid entry:"+scanner.next());
}
}while(true);
添加回答
舉報