Как настаивать на том, что пользовательский ввод является 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

Ответы на вопрос(7)

Ваш ответ на вопрос