Код, состоящий из ошибки аргумента hasNextInt - PullRequest
0 голосов
/ 07 мая 2020

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

  1. Если пользователь вводит нецелочисленное значение, программа будет проходить до тех пор, пока не получит целочисленное значение
  2. Если ввод является целым числом, программа отобразит его значение

Мой желаемый результат будет примерно таким:

  1. Введите число: a
  2. Неверный ввод. Введите целое число
  3. Введите число: b
  4. Недействительный ввод. Введите целое число
  5. Введите число: 66
  6. Ваше значение - 66

    System.out.println («Введите число»);

    boolean hasNextInt = input.hasNextInt();
    int value =0;
    
    while(!hasNextInt){
        System.out.println("Invalid input, please enter an Integer");
         value = input.nextInt();
    }
    
    System.out.println("Your value is "+value);
    

Любая помощь будет принята с благодарностью! :)

1 Ответ

0 голосов
/ 07 мая 2020

В том виде, в каком у вас это есть сейчас, вы попытаетесь прочитать int, когда ваш Scanner не имеет int. Вместо этого вы должны попробовать следующее:

int value = 0;
while(!input.hasNextInt()){
    System.out.println("Invalid input, please enter an Integer");
    input.next();
}
value = input.nextInt();

Таким образом, вы читаете int после , когда input действительно имеет int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...