1

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);
4

1 に答える 1