Мне нужна от пользователя какая-то цифра, не буква. При первом запуске программы на строчке " firstNum = scanner.nextInt();" программа ждет, пока пользователь введет что-нибудь в консоль. Допустим, пользователь ввел туда не то, что нужно, а именно какие-то буквы, но тогда программа бесконечно печатает на экран:
"Only numbers, not letters, please
Enter the first number:"
Почему так происходит? Почему, когда программа в очередной раз доходит до строки " firstNum = scanner.nextInt();", она не ждет ввода пользователя?
Scanner scanner = new Scanner(System.in);
int firstNum;
while (true) {
try {
System.out.println("Enter the first number:");
firstNum = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("\nOnly numbers, not letters, please");
}
}