这里有一个方法可以检查用户是否输入了“y”,与答案是肯定的;或者与答案号有关的“n”。它正确地读入用户输入的字母,但是它一直说用户没有输入“y”或“n”。如果有人能让我知道我做错了什么就会很棒。这是我正在使用的代码:
String answer = "";
do {
while (answer.equals("")) {
answer = sc.nextLine();
}
if (!answer.equals("y") || !answer.equals("n")) {
System.out.println("Please enter a y, meaning yes; or an n, meaning no.");
answer = "";
}
} while (!answer.equals("y") || !answer.equals("n"));
答案 0 :(得分:0)
答案非常简单,将||
更改为&&
。这是因为每个输入都不等于n
或y
。
更正后的代码应如下所示:
String answer = "";
Scanner sc = new Scanner(System.in);
do {
while(answer.equals("")) {
answer = sc.nextLine();
}
if(!answer.equals("y") && !answer.equals("n")) {
System.out.println("Please enter a y, meaning yes; or an n, meaning no.");
answer = "";
}
}while (!answer.equals("y") && !answer.equals("n"));