Введите цифру c, чтобы перейти к следующей строке, но исключение при вводе нечислового - PullRequest
0 голосов
/ 12 марта 2020

Я новичок в программировании и все еще думаю о вещах.

Итак, я пытаюсь добавить строку, которая позволит, например, ввести текст "AB C", и чтобы он не вызывал исключение, а скорее запросил цифру c значение должно быть введено "123".

Как я уже сказал, я новичок в программировании, и я пробовал много попыток, но я думаю, потому что я использую "int age = input.nextInt ();" это мешает мне вводить текст в операторе if. Я не совсем уверен.

Это тоже для задания. Дайте мне знать, если вам нужно знать что-то еще. Я хочу учиться, хотя я также не знаю, на что смотреть. et c.

   System.out.println("Please enter your age:");

   String bracket= "";

   int age = input.nextInt();

   if (age <= 20){
     bracket = "20 & under";
   }
   if (age > 20 && age <= 35){
     bracket = "21-35";
   }
   if (age > 35 && age <= 70){
     bracket = "36-70";
   }
   if (age > 70){
     bracket = "71 & over";
   }

1 Ответ

1 голос
/ 12 марта 2020

Вам нужно все oop, вам нужно проверить, есть ли у Scanner значение int, прежде чем пытаться его прочитать, и вы можете упростить цепочку if с помощью некоторых else (s). Мол,

String bracket = "";
while (true) {
    System.out.println("Please enter your age:");
    if (input.hasNextInt()) {
        int age = input.nextInt();
        if (age < 20) {
            bracket = "20 & under";
        } else if (age < 36) {
            bracket = "21-35";
        } else if (age < 71) {
            bracket = "36-70";
        } else {
            bracket = "71 & over";
        }
        break;
    } else {
        input.nextLine();
    }
}
...