0

編集

助けてくれてありがとう。これが私を助けた答えです:https://stackoverflow.com/a/14903642

完全な作業コードは次のとおりです: http://pastebin.com/1kbipuAZ

編集を終了

ユーザーに特定の範囲の数値を入力するように求める単純な cmd ゲームを作成することになっています。次に、プレーヤー 2 は、その数字が何であるかを推測することに挑戦することになっています。プレイヤーが数字を推測するまで、プログラムは「より高い」または「より低い」と言い続けます。いくつかの if/else ステートメントと while ループを使用することになっていると思いますが、その方法がわかりません。無限ループが発生するか、必要になる前に停止します。ここに私が持っているものがあります:

    import java.io.*;

class game
{
    public static void main (String[]args) throws IOException
    {
        InputStreamReader inStream = new InputStreamReader(System.in);
        BufferedReader stdin = new BufferedReader(inStream);

        String inData;

        System.out.println("Welcome to The Game. Player One, please enter an                                integer higher than 0, and less than 1000...\n");

        inData = stdin.readLine();

        int number = Integer.parseInt(inData);

        if(number >= 1000 || number <= 0)
        {
            System.out.println("Sorry, that number is out of the acceptable     range on numbers...\n");
        }
        else
        {
            System.out.println();
        }

        String f1;

        System.out.println("Player Two, Please enter a guess as to what Player     One's number is...\n");

        f1 = stdin.readLine();

        int guess = Integer.parseInt(f1); 


        while(guess < number)
        {
            if(guess != number)
            {
                System.out.println("Higher. Please Guess Again...\n");
            }
            else
            {
                System.out.println();
            }
            break;


        }
        while(guess > number)
        {
            if(guess != number)
            {
                System.out.println("Lower. Please Guess Again...\n");
            }
            else
            {
                System.out.println();
        }
            break;

        }
        if(number==guess)
        {
            System.out.println("Congratulations. Thank you for     playing...\n");
        }
        else
        {
            System.out.println();
        }




    }
}

ループやステートメントなどのさまざまな組み合わせを試しましたが、あまりうまくいきません。

4

1 に答える 1

1

あなたのコードはほぼ正しいです....

2 番目のプレーヤーが正しい数字を推測したら、ループから抜け出す必要があります。そう、

while(guess != number)

ループでは、比較と印刷を行う必要があります。また、ループのたびに入力を取得する必要があります。

以下のようにコードします。

    f1 = stdin.readLine();
    int guess = Integer.parseInt(f1); 

    while(guess != number)
    {
        if(guess < number)
        {
            System.out.println("Higher. Please Guess Again...\n");
        }
        else if(guess > number)
        {
            System.out.println("Lower. Please Guess Again...\n");
        }

        f1 = stdin.readLine();
        guess = Integer.parseInt(f1); 
    }

*編集済み* *

以下の完全な作業プログラム:

 import java.io.*;

class game
{
    public static void main (String[]args) throws IOException
    {
        InputStreamReader inStream = new InputStreamReader(System.in);
        BufferedReader stdin = new BufferedReader(inStream);

        String inData;

        System.out.println("Welcome to The Game. Player One, please enter an                                integer higher than 0, and less than 1000...\n");

        inData = stdin.readLine();

        int number = Integer.parseInt(inData);

        if(number >= 1000 || number <= 0)
        {
            System.out.println("Sorry, that number is out of the acceptable     range on numbers...\n");
        }
        else
        {
            System.out.println();
        }

        String f1;

        System.out.println("Player Two, Please enter a guess as to what Player     One's number is...\n");

        f1 = stdin.readLine();
        int guess = Integer.parseInt(f1); 

        while(guess != number)
        {
            if(guess < number)
            {
                System.out.println("Higher. Please Guess Again...\n");
            }
            else if(guess > number)
            {
                System.out.println("Lower. Please Guess Again...\n");
            }

            f1 = stdin.readLine();
            guess = Integer.parseInt(f1); 
        }



    }
}

出力は次のとおりです。

ゲームへようこそ。プレイヤー 1、0 より大きく 1000 より小さい整数を入力してください...

10

プレイヤー 2、プレイヤー 1 の番号を推測してください...

2 高い。もう一度推測してください...

5 高い。もう一度推測してください...

7 高い。もう一度推測してください...

12 下。もう一度推測してください...

11 下。もう一度推測してください...

9 高い。もう一度推測してください...

10

于 2013-02-15T21:31:54.397 に答える