Класс сканера ввода / вывода Java и панель взаимодействия - PullRequest
1 голос
/ 12 марта 2012

У меня есть этот код:

Scanner sc = null;
 sc = new Scanner(System.in);
 System.out.println("Your final answer is? (Y/N)");
 String answer = sc.next();
 if(answer.equals("Y"){
//do sth
}
 else if(answer.equals("N")){
//do sth else
}

Если человек не вводит "Y" или "N", я хочу, чтобы вопрос задавался снова, пока ответ не станет одним из этих двух.Вот как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 12 марта 2012
Scanner sc = new Scanner(System.in);
String answer = null;
boolean ask_again = true;
do {
     System.out.println("Your final answer is? (Y/N)");
     answer = sc.next();
     if(answer.equals("Y")){
       //do something when Yes
       ask_again = false;
     }
     else if(answer.equals("N")){
       //do something when No
       ask_again = false;
     }
     else {
       ask_again = true; 
     }
} while(ask_again == true);
1 голос
/ 12 марта 2012
Scanner sc = new Scanner(System.in);
String answer = new String();
do {
    System.out.println("Your final answer is? (Y/N)");
    answer = sc.next();
} while((!answer.equals("Y")) && (!answer.equals("N")));
// do your bit here if "Y" or "N"
...