【发布时间】:2015-11-18 21:02:46
【问题描述】:
我正在进行一项关于创建一副纸牌的 Java 实验,但我遇到了一些问题。对于这一部分,我必须有一个接受整数参数并返回 Card 对象的方法。它应该返回对卡片组数组中(0 到 NUMBERS-1)中卡片对象的引用。如果索引不在范围内,它必须返回 null。 我试图通过使用甲板[输入参数] 来做到这一点,但意识到这不起作用,因为甲板是卡片。我不确定该怎么做。我应该改变什么才能让它正常工作? 谢谢!
public class DeckOfCards {
public static final int NUMBERS = 52;
public Card[] deck = new Card[NUMBERS];
String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"};
String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"};
public DeckOfCards() {
int i = 0;
for(String rank : ranks) {
for(String suit : suits) {
deck[i] = new Card(rank, suit);
i++;
}
}
}
public Random random = new Random();
public void shuffle() {
for(int i = 0; i < 500; i++) {
int firstRandomCard = random.nextInt(NUMBERS - 1);
int secondRandomCard = random.nextInt(NUMBERS - 1);
Card firstCard = deck[firstRandomCard];
Card secondCard = deck[secondRandomCard];
deck[firstRandomCard] = secondCard;
deck[secondRandomCard] = firstCard;
}
}
//this is where I am having problems.
public int getCardAt(int number) {
if (number < 0 || number > NUMBERS - 1)
return null;
else
return deck[number];
}
}
【问题讨论】:
-
尝试使用here 所示的方法创建一个套牌并查看
Collections.shuffle()。
标签: java arrays if-statement methods