Это вопрос для домашнего задания, включающего блок try/catch. Я знаю, что для попытки/перехвата вы помещаете код, который хотите протестировать, в блок try, а затем код, который вы хотите выполнить в ответ на исключение, в блок перехвата, но как я могу использовать его в этом конкретном случае?
Пользователь вводит число, которое хранится в userIn, но если он вводит букву или что-то еще, кроме числа, я хочу это перехватить. Введенный пользователем номер будет использоваться в операторе переключения после попытки/перехвата.
Код: Выделить всё
Scanner in = new Scanner(System.in);
try{
int userIn = in.nextInt();
}
catch (InputMismatchException a){
System.out.print("Problem");
}
switch(userIn){...
Когда я пытаюсь скомпилировать, он возвращает символ, который не найден, для номера строки, соответствующего началу оператора переключения, switch(userIn){. Спустя несколько поисков я обнаружил, что userIn не виден за пределами блока try, и это может быть причиной ошибки. Как я могу проверить userIn на правильность ввода, а также чтобы оператор переключения видел userIn после попытки/catch?
Подробнее здесь:
https://stackoverflow.com/questions/186 ... user-input