Попробуйте поймать и ввести пользовательский вводJAVA

Программисты JAVA общаются здесь
Anonymous
Попробуйте поймать и ввести пользовательский ввод

Сообщение Anonymous »

Это вопрос для домашнего задания, включающего блок 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

Вернуться в «JAVA»