-2

このアプリケーションは数字を推測するゲームです。私の問題は、ユーザーが乱数を正しく取得したときに、「y」と入力しても続行するかどうかをユーザーに尋ね、新しい乱数を作成して推測するように求めることです。次に、ユーザーに「番号を入力してください」と尋ねる必要があります。代わりに私は得る

「高すぎる」(または「低すぎる」)
「番号を入力してください」

ex出力:
番号を入力してください:
2
正解です。数は2でしたあなたは2回の試みでそれを手に入れました。
もう一度プレイしますか(y / n):
y
低すぎます!再試行。
番号を入力してください:

彼が数字を入力した後に決定されると思われる「高すぎる」または「低すぎる」を印刷せずに、質問と同じようにするにはどうすればよいですか?

ps。私は多くの方法を試しましたが、行き詰まっています:(

public static void main(String[] args) {
    System.out
            .println("Welcome to the gussing game, Try to guess the number am thinking of to win!");
    System.out
            .println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
    System.out.println();

    System.out
            .println("Am thinking of a number between 0 and 10. Try to guess it.");
    System.out.println();

    Scanner sc = new Scanner(System.in);
    String choice = "y";

    double rightNum = Math.random() * 10;
    int randomNum = (int) rightNum; // convert the random number to int
    int tries = 0;

    while (!choice.equalsIgnoreCase("n")) {

        System.out.println("Enter the Number:");
        int guess = sc.nextInt();
        tries++;

        if (guess == randomNum) {
            System.out.println("Correct you've got it! The Number Was "
                    + randomNum);
            System.out.println("You got it in " + tries + " tries.");
            System.out.println("Would you like to play again (y/n):");
            choice = sc.next();

            if (choice.equalsIgnoreCase("y"))
            // reset the random number

            {
                rightNum = Math.random() * 10;
                randomNum = (int) rightNum;
                tries = 0;

            }
        }

        if (guess > randomNum + 10) {
            System.out.println("Way to high! Try again.");
        } else if (guess < randomNum) {
            System.out.println("Too low! Try again.");
        } else if (guess > randomNum && guess <= randomNum + 10) {
            System.out.println("Too high! Try again.");
        }

    }

}

}

4

2 に答える 2

9
else if (guess > randomNum + 10)
{
    System.out.println("Way to high! Try again.");
} 

あなたは他を逃した。

于 2013-02-20T03:20:58.153 に答える
0

これを変える

{
    rightNum = Math.random() * 10;
    randomNum = (int) rightNum;
    tries = 0;
}

{
    rightNum = Math.random() * 10;
    randomNum = (int) rightNum;
    tries = 0;
    continue; /* this goes back to while loop */
}
于 2013-02-20T03:36:53.067 に答える