while (a != true) {
try {
input = user_input.nextInt();
calculate(input);
a = true;
} catch (InputMismatchException ex) {
user_input.next();
System.out.println("fdsa");
} catch (RangeException ex) {
}
}
if (input == 1)
Моя проблема заключается в том, что я перехватывать исключения мне нужно, которые если вход < 1 и> 4 или строка и я печатать сообщения об ошибках и программа снова просит меня, чтобы ввести число от 1 до 4, но когда я начал внедрять исключения, входная переменная на моем, если говорит, что она не может быть инициализирована. Это мой первый случай, когда я выполняю исключения, и мне трудно.Переменная не может быть парафировано
(изменить) Я решил предыдущую проблему, но я столкнулся с новой неразрешимой проблемой со сканером, когда я набираю int между 1 и 4. Этот фрагмент моего кода находится в пределах другого цикла while, который в настоящее время бесконечен, поскольку он не позвольте мне снова ввести вход = user_input.nextInt(); и он всегда повторяется с тем же значением, которое я первоначально напечатал. Спасибо заранее и жаль, что не поставил свою проблему в структурированной форме.
Как предполагает инициализацию переменный .. – user7
пожалуйста опубликовать работоспособный пример, а затем указать, что ваш ожидаемый результат и тем, что выход вы получаете – Blip
Вы можете избавиться от 'Ā'. Измените 'while (a! = True)' to 'while (true)' и замените 'a = true;' на 'break'. Тогда компилятор будет достаточно умным, чтобы понять, что 'input' должно быть присвоено значение к моменту достижения строки' if (input == 1) '. –