gpt4 book ai didi

有关循环的 Java 帮助(do 循环)

转载 作者:行者123 更新时间:2023-11-30 03:40:37 25 4
gpt4 key购买 nike

我正在尝试制作一个非常基本的游戏,您可以使用 do 循环猜测 1-1000 之间的数字。一切正常,除了当我最终做出正确的猜测时,系统仍然提示我进行另一个猜测,当我再次输入相同的正确猜测时,程序会像预期的那样终止。

为什么我必须进行额外的猜测才能最终让我的程序运行?我是不是多绕了一圈?另外,如果我猜测正确(编译器会说我是正确的,然后仍然提示我),然后猜测错误(编译器会告诉我我错了),然后再次猜测正确,程序只会在之后终止我第二次猜对了。

底部的第二个 do 循环是我放在 main 方法中的内容。以上所有内容都在我编写的名为 play 的方法中。

public static boolean play()
{

boolean c;
int n = 0;

do {
String input = JOptionPane.showInputDialog("Enter a number between 1-1000");
n = Integer.parseInt(input);

if (n == guess)
{
System.out.println("Correct");
c = true;
}
else if (n < guess)
{
System.out.println("Not Right");
c = false;
}
else
{
System.out.println("Not Right");
c = false;
}

guess++;

} while (c == false);

return c;

}

在主方法中:

    do {
game1.play();
} while (game1.play() != true);

最佳答案

此循环在循环的每次迭代中运行 play 方法两次:

do {
game1.play(); // first call
} while (game1.play()!=true); // second call

您没有测试第一次调用返回的值,因此即使它返回 true,您仍然会再次调用 game1.play(),这将显示“输入 1- 之间的数字”又是 1000 英寸。

替换为:

boolean done = false;
do {
done = game1.play();
} while (!done);

这只会在循环的每次迭代中调用 play() 一次。

也就是说,我不确定为什么你需要外循环。您只需将其替换为一次对 game1.play() 的调用,因为 game1.play() 将循环直到输入正确的数字。

关于有关循环的 Java 帮助(do 循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26881538/

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