gpt4 book ai didi

java - 基本Java : While loop for basic quiz?

转载 作者:行者123 更新时间:2023-11-30 09:06:28 26 4
gpt4 key购买 nike

我昨晚开始学习 Java,我正在尝试编写我的第一个代码,而不是听写它!

这是一个简单的测验问题,询问用户“你觉得我的狗很可爱吗?”如果他们回答"is",狗就会汪汪地笑。如果他们说“不”,他会对他们咆哮并皱眉。如果给出不同的答案,则打印“什么?请重试”。

到目前为止,我没有遇到任何问题,但现在我正在努力做到这一点,以便在输入无法识别的答案时再次提出问题,并重复此问题,直到他们回答"is"或“否” ”这是我尝试过的:

import java.util.Scanner;
public class CopyOfMain {
public static void main(String joel[]){
System.out.println("Do you think my dog Olly is cute? Yes or No");
Scanner ans = new Scanner(System.in);
String Ans = ans.nextLine();
while (!Ans.equals("Yes") || !Ans.equals("No")); {
if (Ans.equals("Yes")){
System.out.print("Woof :-)");

}else if(Ans.equals("No")){
System.out.print("Grrrr :-(");

}else{
System.out.print("What? Please try again.");
}
}
ans.close();
}
}

我在工作代码中添加的只是 while 循环,但现在如果输入"is"或“否”,则不会打印出低音或咆哮声。但是,如果输入了"is"或“否”以外的内容,则正确的单词会打印出来,但问题仍然不会被重新提出。有人可以建议修复吗?

最佳答案

重新阅读循环中的行(也使用 AND 而不是 OR nothing is both "Yes"and "No"or 一个更简单的无限循环和中断),还有 - 我会使用另一个变量 Ansans 对我的口味来说太相似了,此外,请注意,我正在独立于大小写测试你的字符串(我假设“yes”和“YES”也应该工作)。最后,while 之后和左括号之前没有分号(形成一个空循环)-

String response = ans.nextLine();
while (true) {
if (response.equalsIgnoreCase("Yes")){
System.out.println("Woof :-)");
break;
}else if(response.equalsIgnoreCase("No")){
System.out.println("Grrrr :-(");
break;
}else{
System.out.println("What? Please try again.");
response = ans.nextLine();
}
}

关于java - 基本Java : While loop for basic quiz?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24436562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com