0

私がやろうとしているのは、値とスーツをランダムに生成することでカードをランダムに生成するカード クラスを作成することです。まったく同じカードが4枚作成されてもかまいませんが、それは私にとっては問題ではありません。しかし、以下は、これまでの私の最善の試みと考えられるものです。

String[] PossCards = new String[]{"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" };
String[] PossSuits = new String[]{"C", "S", "H", "D"};
Random rand = new Random();

public Card(){

    String Card = PossCards[rand.nextInt(PossCards.length)];
    String Suit = PossSuits[rand.nextInt(PossSuits.length)]; 

    String ActCard = Suit + "" + Card;
}

これは機能しませんが、Hand クラスを使用して 4 枚のランダム カードを作成しようとすると、返される値は「null null null null」です。上記のコードの間違いですか?それとも、ハンドクラスで間違えているに違いないのでしょうか?

4

2 に答える 2

0

PossSuits ramdom 数の制限として PossCards の長さを取得しています

あなたがやっている:

String Suit = PossCards[rand.nextInt(PossSuits.length)];
String Card = PossSuits[rand.nextInt(PossCards.length)];

そしてあなたはするべきです:

String Card = PossCards[rand.nextInt(PossCards.length)];
String Suit = PossSuits[rand.nextInt(PossSuits.length)];
于 2013-10-10T20:10:32.573 に答える