我正在尝试将卡添加到ArrayList卡组,但它似乎不起作用(大部分代码都是oracle.com上的示例)。我可能做一些非常愚蠢的,但我似乎无法找到它..这是代码:ArrayList是空的,但为什么?
public class Card {
public enum Rank
{
DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE,
TEN, JACK, QUEEN, KING, ACE
}
public enum Suit
{
HEARTS, DIAMONDS, SPADES, CLUBS
}
private final Rank rank;
private final Suit suit;
private static final List<Card> deck = new ArrayList<Card>();
public Card(Rank rank, Suit suit)
{
this.suit = suit;
this.rank = rank;
}
// initializes deck
public void initDeck()
{
for (Suit suit : Suit.values())
{
for (Rank rank : Rank.values())
{
deck.add(new Card(rank, suit));
}
}
}
// returns a copy of the deck
public static ArrayList<Card> newDeck()
{
return new ArrayList<Card>(deck);
}
public Rank getRank()
{
return rank;
}
public Suit getSuit()
{
return suit;
}
public String toString()
{
return rank +" of "+ suit;
}
public static void main(String[] args)
{
System.out.println(deck.toString());
}
}
明显的检查......你在哪里调用'initDeck'? – MarkPowell 2011-03-18 23:33:11
大声笑我没有打电话给initDeck哈哈谢谢。 – Loolooii 2011-03-18 23:37:14
好,太糟糕了,我的评论不是一个答案!哈! – MarkPowell 2011-03-18 23:37:52