Как бы я правильно зациклил эту инструкцию try catch? Из того, что я знаю, выполняется playerIntInput = reader.nextInt();
в блоке try, и он получает исключение, если оно существует, это должно привести к тому, что loop = false
никогда не будет достигнуто. Затем он выдает сообщение в блоке catch, и он должен вернуться к try и снова запросить ввод. Вместо этого я просто получаю бесконечно замкнутый вывод из блока catch.Looping try-catch не работает
void CheckInput(int playerIntInput) {
boolean loop = true;
while(loop=true) {
try {
playerIntInput = reader.nextInt();
loop = false;
}
catch(InputMismatchException e) {
System.out.println("Invalid character was used, try again.");
}
}
}
Это должно быть loop == true, not loop = true –
Просто используйте 'while (loop)'. –
Использование только 'while (loop)' все равно приводит к бесконечному циклу для меня. Как и использование 'while (loop == true)'. Я тоже пробовал их, и петля все еще случалась. –