gpt4 book ai didi

java - 我在这段代码中做错了什么?它应该无限期地运行,但只循环两次

转载 作者:行者123 更新时间:2023-11-30 03:52:45 28 4
gpt4 key购买 nike

我在顶部有一个最终的字符串数组,标记为笑话。我希望程序询问用户是否想听一个笑话,告诉用户这个笑话,然后询问他们是否想听另一个笑话。截至目前,程序将询问用户是否想听一个笑话,告诉他们这个笑话,询问他们是否想听另一个笑话,告诉他们第二个笑话,然后停止。我希望程序无限期地执行此操作,而不是只执行两次。任何我能得到的帮助或建议将不胜感激,因为我仍然是 Java 的初学者。

    Random generator = new Random();
input = new Scanner(System.in);
System.out.println("Want to hear a joke?");


String response = "yes";

while (response.equalsIgnoreCase("yes")) {
response = input.nextLine();
int yourJoke = generator.nextInt(jokes.length);

System.out.println(jokes[yourJoke]);

System.out.println("Pretty funny! Want to hear another?");
response = input.nextLine();


}

}

}

最佳答案

  • 您只能在 while 循环内部调用 input.nextLine() 一次。
  • 如果您只是要忽略它,如果您要强制响应为"is"而不管用户的选择如何,为什么要在 while 循环之前要求输入?

伪代码的一个解决方案:

initialize Scanner
initialize Random
hearAnother = false

prompt: want to hear a joke?
get input
hearAnother = input ignore case is "yes"
if hearAnother
tell your joke

do
prompt: want to hear another joke?
get input
hearAnother = input ignore case is "yes"
if hear another
tell random joke
end if
while hearAnother is true
end if

关于java - 我在这段代码中做错了什么?它应该无限期地运行,但只循环两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23984391/

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