Как повторно запустить запрос для ввода после недопустимого ввода в Java?

Вопрос: Я ищу решение, которое разрешает только ответ 1 или 2. Как можно запросить ввод снова, если вместо этого введет другой ответ? Благодарю! System.out.println("Are you single or married? n 1 - Single n 2 - Married"); status = in.nextInt(); //allow input for status Лучший ответ: do{ System.out.println("Are you single or married? n 1 - Single

Вопрос:

Я ищу решение, которое разрешает только ответ 1 или 2. Как можно запросить ввод снова, если вместо этого введет другой ответ? Благодарю!

System.out.println(«Are you single or married? n 1 — Single n 2 — Married»); status = in.nextInt(); //allow input for status Лучший ответ:do{ System.out.println(«Are you single or married? n 1 — Single n 2 — Married»); status = in.nextInt(); //allow input for status }while((status!=1)&&(status!=2));

Это будет продолжать печатать тот же вопрос, пока ответ не будет равен 1 или 2. Возможно, вы захотите добавить System.out.print(«f»); чтобы очистить экран перед тем, как задать вопрос в эстетических целях.

Ответ №1

Это простой способ сделать это, но я бы рекомендовал сделать некоторые исследования самостоятельно, так как я уверен, что вы могли бы найти ответ, который больше по душе:

boolean right=false; do{ System.out.println(«Are you single or married? n 1 — Single n 2 — Married»); status = in.nextInt(); if(status.equals(«1») || status.equals(«2»);{right=true;} } while(status==false);

Я бы рекомендовал исследовать циклы while и if-statements:

Надеюсь это поможет.

Ответ №2

Вы можете попробовать что-то вроде ниже.

Предупреждение: я не тестировал этот код

while(true) { System.out.println(«Are you single or married? n 1 — Single n 2 — Married»); status = in.nextInt(); // allow input for status if(status==1 || status==2) break; }

Оцените статью
Добавить комментарий