0

eclipse を使用して、Java でブラック ジャックの簡略化されたバージョンを作成しようとしています。プレイヤーが「ヒット」または「スタンド」をタイプするようにしようとしています。

while (hitorstand != ("hit") || hitorstand != ("stand"))
                {
                    System.out.println("Would you like to hit or stand?(1 for hit, 2 for stand)");
                    hitorstand = scan.nextLine();
                    hitorstand.toLowerCase();
                }       
                if (hitorstand.equals("hit"))
                    {
                        playercard3 = random.nextInt(10) +2;
                        System.out.println(""+playercard3);
                    }
                else if (hitorstand.equals("stand"))
                    {
                        System.out.println("You had a total value of " + playercardtotal + ".");
                        if (hiddendealercard == card2)

実行すると、何を入力してもwhileループをエスケープできません。数字を使えばうまくいくことはわかっていますが、単語を入力として使用する方法を本当に学びたいです。

4

5 に答える 5

0

答えに加えて、良い経験則は、文字列で .equals() を使用し、整数値で == を使用するか、整数値 (または値 null) で変数を使用することです。

于 2013-10-18T17:54:39.700 に答える
0

これを行う 1 つの方法は、キャラクターを使用することです。
while (hitorstand != ("hit") || hitorstand != ("stand"))
例: charAt() コマンドを使用して文字列の最初の文字をチェックする代わりに、文字列のインデックスを括弧内に指定します。したがって、最初の文字を探しているので、インデックス 0 になります
while (x != 'h' || x != 's')
。x は char です。

while ループの中で、
System.out.println("Would you like to hit or stand?");
hitorstand = scan.nextLine();
hitorstand.toLowerCase();
x = x.charAt(0); // you would just add this line. This gets the character at index 0 from the string and stores it into x. So if you were to type hit, x would be equal to 'h'.

if ステートメントは同じままにするか、条件を (x == 'h') および (x == 's') に変更することもできます。それはあなた次第です。

于 2013-10-19T06:23:07.030 に答える