我很难理解我的代码真的有什么问题。我不是一个很好的开发人员,我仍然在学习,所以所有的技巧都非常受欢迎! :)input.nextLine()带有一个while循环中的字符串
所以我正在做的是有一个while循环,检查用户是否给扫描仪一个特定的字母。如果有,则循环结束。如果不是,它会一直问这个问题。
我的代码如下:
Scanner userInput = new Scanner(System.in);
String userAnswer = userInput.nextLine();
boolean isTrue = true;
while (isTrue){
if (userAnswer.equals("e")){
System.out.println("Wrong, try again");
userInput.nextLine();
} else if (userAnswer.equals("k")) {
System.out.println("That's right!");
isTrue = false;
break;
}
}
它的工作原理,有点。如果用户回答“k”作为第一个答案,它会打印出“That's right!”。然后打破循环。如果用户给出答案“e”作为第一个答案,它将打印出“错误,再试一次”,并给出一个新的行再次回答,但如果你然后写了正确的字母,这是“K”,它仍然打印出“错了,再试一次”循环,不会跳转到“else if”语句。
我该如何解决这个问题?提前致谢。
您需要在循环内部处理扫描仪。否则,您不会读取用户写入的下一个字符。 –
你需要使用'userAnswer = userInput.readLine()'或者你的答案不会改变。 –