do ループを使用して 1 ~ 1000 の数字を推測する非常に基本的なゲームを作成しようとしています。最終的に正しい推測を行うときを除いて、すべてが機能しますが、別の推測を行うように求められ、同じ正しい推測を再度入力すると、プログラムは想定どおりに終了します。
最終的にプログラムを動作させるために、なぜ余計な推測をしなければならないのでしょうか? 私は余分な時間をループしていますか?また、私が正しい推測をした場合 (コンパイラーは私が正しいと言い、それでもプロンプトを表示します)、次に間違った推測 (コンパイラーは私が間違っていると教えてくれます)、そして再び正しい推測をすると、プログラムは次の後にのみ終了します。私はもう一度正しい推測をします。
一番下の 2 番目の do ループは、メイン メソッドに入れているものです。上記のすべては、私が書いた 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);