Как отобразить сообщение об ошибке, если пользовательский ввод не в правильной форме?

До сих пор в моем коде я предлагал пользователю ввести положительное целое число, представляющее количество людей, которых он приглашает на мероприятие. У меня уже есть оператор if для возврата сообщения об ошибке, если пользовательский ввод является отрицательным значением. Но как вернуть сообщение об ошибке, если пользователь вводит символ, строку или двойное число? Всякий раз, когда я проверяю это, вводя букву, терминал просто отображает следующее сообщение:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Cookies.main(Cookies.java:15)

person Clarisa    schedule 22.02.2015    source источник


Ответы (1)


Перехватите исключение, затем отобразите сообщение, например

try
{
int i = Integer.parseInt(input);
}
catch(NumberFormatException e)
{
System.out.println("You didn't enter an integer");
}
person Joe    schedule 23.02.2015