我正在尝试制作一个非常基本的游戏,您可以使用 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);