私のプログラムは、カードのパックからランダムに5枚のカードを引くように設計されています。ただし、実行すると、出力は次のようになります。
null null null null null
public class Poker {
static int numberOfPlayers;
public static void main(String[] args) {
drawComCards();
}
static void drawComCards() {
Card[] comCard = new Card[5];
for (int i = 0; i < comCard.length; i++)
comCard[i] = new Card();
for (int i = 0; i < comCard.length; i++)
System.out.print(comCard[i].getCard() + " ");
}
}
public class Card {
private String[] rank = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
private String[] suit = {"clubs", "diamonds", "hearts", "spades"};
private String cardValue;
void Card() {
String cardOne = rank[(int) (Math.random() * rank.length)] + " of " + suit[(int) (Math.random() * suit.length)];
cardValue = cardOne;
}
String getCard() {
return cardValue;
}
}
同じカードを2回以上引くことを排除する方法についてはまだ考えていません。
この行のため:
void Card(){..}
削除しvoid
ます。このコードはメソッドを表します(コンストラクターは戻り値の型を記述しません-を使用してもvoid
)。そのため、コンパイラーは、で初期化cardValue
するデフォルトの引数なしコンストラクターを追加しましたnull
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加