Как я могу проверить, является ли пользовательский ввод строкой

Я пытаюсь проверить, вводит ли пользователь строку. Если пользователь вводит строку, моя программа должна вывести сообщение об ошибке. Если пользователь вводит целое число, моя программа должна продолжить выполнение программы

Вот мой код до сих пор, мне нужно добавить еще одно условие, чтобы проверить, вводит ли пользователь строку, я пробовал некоторые методы, но они не работают

public int UserInput() {
    boolean Continueasking = true;
    int Input = 0;
    while (Continueasking) {
        Input = io.nextInt();
        if (Input == 1 || Input==2 || Input==3) {
            Continueasking = !Continueasking;
        } else {
            System.out.println("try again");
        }
    }
    return Input;
Основы программирования на Java
Основы программирования на Java
Java - это высокоуровневый объектно-ориентированный язык программирования, основанный на классах.
Концепции JavaScript, которые вы должны знать как JS программист!
Концепции JavaScript, которые вы должны знать как JS программист!
JavaScript (Js) - это язык программирования, объединяющий HTML и CSS с одной из основных технологий Всемирной паутины. Более 97% веб-сайтов используют...
0
0
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

nextInt() анализирует пользовательский ввод как целое число. Если пользовательский ввод не может быть проанализирован как целое число, он выдает InputMismatchException. Вы можете поймать это исключение и обработать его по своему усмотрению.

while (continueAsking) {
    try {
       input = io.nextInt();
    } catch (InputMismatchException ex) {
       // invalid input - handle exception
    }
}

Другие вопросы по теме