私はJavaを学ぼうとしていて、ランダムに生成されたカードのデッキからランダムに5枚のカードを選択する非常に単純なクラスを作りたいと思っていました. 私は、解決するのが非常に簡単な問題であるべきだと思う何かに遭遇しています。また、これは私が通っている大学の研究室のためのものなので、コードのブロックを渡さずに私を導くことができれば、それが望ましいでしょう.
これは私が受け取ったエラーであり、私はそれを受け取った理由を理解しています:
式の型は配列型でなければなりませんが、Deck に解決されました
これが私のコードです:
public static void main(String[] args) {
System.out.println(select(5));
}
public static Card[] select(int k)
{
Random rand = new Random(52);
Deck deck = new Deck(52);
Card[] hand = new Card[5];
for (int j = 0; j < 5; j += 1)
{
int index = rand.nextInt(52-j);
hand[j] = deck[index];
}
return hand;
}
Deck.java および Card.java クラスは、講師 (実習中は不在) によって提供されました。
また、最近、このコードではやりたいことを実行できないことに気付きましたが、上記のエラーを把握する必要があります。私が抱えている他の問題を解決したい場合は、以下の説明に自由に答えてください。しかし、それが私がここにいる理由ではありません。
5枚のカードをランダムに選択したいです。ランダムに選択されたカードが私のデッキ オブジェクトのインデックス 27 にあるとしましょう。次に、そのカードをインデックス 51 に移動し、これを 4 回繰り返します。そうすれば、私のデッキ オブジェクトの最後の 5 枚のカードはすべてランダムに選択され、2 回選択されることはありません。最も簡単な方法 (まだ試していません) は、デッキ インデックスの 1 つの値を保持する変数を作成して、それらを交換できるようにすることだと考えています。同意する人はいますか?
どんな助けでも大歓迎です!