Как настаивать на том, что пользовательский ввод является int?
Основная проблема здесь .. Я начну с того, что прошу не отвечать ни на какой код, так как это, вероятно, только смущает меня (программирование noob). Я ищу четкое объяснение того, как решить эту проблему, которую яЯ имею.
У меня есть сканер, который читает ввод от пользователя. Пользователю предлагается ввести значение от 1 до 150 (только целые числа). Я получаю значение следующим образом:
Scanner scan = new Scanner(System.in);
int input = scan.nextInt();
И продолжить с моей программой, и все работает отлично.
К сожалению, код неt абсолютно пуленепробиваемый, так как любой ввод, который не является целым числом, может сломать его (буквы, символы и т. д.).
Как я могу сделать код более надежным, чтобы он проверял, что был введен только int?
Это результаты, которые яЯ надеюсь на:
Допустим, вход был:
23 -> valid
fx -> display an error message, ask the user for input again (a while loop would do..)
7w -> error, again
3.7 -> error
$ -> error
etc