Привет всем! Пишу консольное приложение. В switch я поставил ввод с клавиатуры,но если юзер введет не число - летит exeption и программа закрывается. как сделать что-бы "на лету" проверялся тип данных?Я пробывал в catch рукурсию засунуть.Не работает:))
@Override
public int startMenu() { //переделать в свитч // закинуть на стакоф
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Добрый день! \nСделайте выбор:\n1)Cоздать список.\n2)Выход");
int choice = 0;
int result = 0;
try {
while (true) {
choice = Integer.parseInt(reader.readLine());
switch (choice){
case 1 : result = 1;
break;
case 2 : result = 2;
break;
default:
System.out.println("Ошибка выбора операции.Сделайте выбор и введите номер операции!");
}
}
} catch (Exception e) {
System.out.println("Ошибка выбора операции.Сделайте выбор и введите номер операции!");
}
return result;
}
@Override
public int startMenu() {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Добрый день! \nСделайте выбор:\n1)Cоздать список.\n2)Выход");
int choice = 0;
int result = 0;
boolean bool = false;
while (!bool) {
try {
choice = Integer.parseInt(reader.readLine());
switch (choice) {
case 1 :
result = 1;
bool = true;
break;
case 2 :
result = 2;
bool = true;
break;
default:
System.out.println("Ошибка выбора операции. Сделайте выбор и введите номер операции!");
}
} catch (Exception e) {
System.out.println("Ошибка выбора операции. Введите целое число!");
}
}
return result;
}
public int startMenu() { //переделать в свитч // закинуть на стакоф
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Добрый день! \nСделайте выбор:\n1)Cоздать список.\n2)Выход");
while (true) {
try {
int result = Integer.valueOf(reader.readLine());
if (result == 1 || result == 2) return result;
else throw new IOException();
} catch (IOException | NumberFormatException ex) {
System.out.println("Ошибка выбора операции.Сделайте выбор и введите номер операции!");
}
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей