Я пишу программу из командной строки и хотел бы, чтобы пользователь ввел действительный возраст (целое число). С помощью класса Scanner, у меня есть что-то вроде этого:Проверка того, что пользователь ввел целое число
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;
}
Проблема в том, что в то время как в цикле он продолжает чтение входных данных, не дожидаясь нового значения. Как я могу обойти это?