0

如何使用重复来命名 Java 中的对象?我想像这样创建 52 个对象(卡片)

Card1
Card2
...
Card52

我在想这样的事情

int i=1;

while (i<=52){
  Card Card<i> = new Card();
  i=i+1;
}

我怎样才能让它工作?

4

4 回答 4

7

将您的对象放在列表中:

List<Card> list = new ArrayList<Card>();

while (i<=52){
  Card card = new Card();
  list.add(card);
  i = i + 1;
}
于 2013-04-26T16:13:28.977 回答
7

你应该更好地使用数组

Card[] cards = new Card[52];
for(int i = 0; i < 52; ++i)
    cards[i] = new Card();

之后,您可以使用例如

card[14]
于 2013-04-26T16:13:56.743 回答
1

您将以与编号方案类似的方式使用数组来使用它们的索引。

Card[] deck = new Card[52];

for(int i = 0; i < 52; i++)
{
    deck[i] = new Card();
}
于 2013-04-26T16:14:13.367 回答
0

您也可以考虑创建一个 Card 类并使用枚举作为花色和卡号。这可能会使管理变得更简单。例如,您可以尝试以下操作:

enum SUIT{
    CLUB,
    SPADE,
    DIAMOND,
    HEART
}

enum CARD_NUM{
    ACE,
    TWO,
    ...
    KING
}

public class Card{
    private final SUIT suit;
    private final CARD_NUM cardNum;

    public Card(SUIT suit, CARD_NUM cardNum){
        this.suit=suit;
        this.cardNum=cardNum;
    }
    ...
}
于 2013-04-26T16:27:34.977 回答