2013-11-13 3 views
1

Я ищу решение, которое разрешает только ответ 1 или 2. Как можно запросить ввод снова, если вместо него был введен другой ответ? Спасибо!Как перезапустить запрос для ввода после недопустимого ввода в Java?

System.out.println("Are you single or married? \n 1 - Single \n 2 - Married"); 

    status = in.nextInt(); //allow input for status 
+3

попытайтесь найти выражения 'while' и' break'. – ajb

+0

как это будет работать @ajb? –

+0

+1 .. почему отрицательный голос .. это звучит начинающий уровень законный вопрос. – Watt

ответ

1
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:

Надеется, что это помогает.

1

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

Внимание: Я не тестировал этот код

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; 

} 
+0

Спасибо! Это сработало! –

Смежные вопросы