这就是我需要做的事情:
此构造函数使用52个卡片对象初始化Deck,代表标准卡片组中的52张卡片。这些卡必须从黑桃王牌到钻石之王订购。
以下是我的尝试:
private Card[] cards;
String suit, card;
private final int DECK_SIZE = 52;
public Deck()
{
cards = new Card[DECK_SIZE];
String suit[] = {"spades", "hearts", "clovers", "diamonds"};
String card[] = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Joker", "Queen", "King"};
for (int c = 0; c<13; c++)
for (int s = 0; s<4; s++)
{
cards.equals(new Card(suit, card));
}
}
这部分给我一个错误“(新卡(西装,卡片));”说构造函数Card(String [],String [])是未定义的。我不确定是否允许我们添加额外的构造函数。为我们编写的代码确实包括一个Card(int,int)。
好的,这个怎么样?这会有用吗?
public class Deck {
private Card[] cards;
int value, suit;
private final int DECK_SIZE = 52;
public Deck()
{
//1 = Ace, 11=joker, 12=queen, 13=king
//1 = spades, 2 = hearts, 3 = clovers, 4 =diamonds
cards = new Card[DECK_SIZE];
int suit[] = {1, 2, 3, 4};
int card[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
for (int c = 0; c<13; c++)
for (int s = 0; s<4; s++)
{
cards.equals(new Card(suit[s], card[c]));
}
}
答案 0 :(得分:5)
也许是这样的:
cards = new Card[DECK_SIZE];
String suits[] = {"spades", "hearts", "clovers", "diamonds"};
String cards[] = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Joker", "Queen", "King"};
int cardIndex = 0;
for (String suit : suits) {
for (String card : cards) {
cards[cardIndex] = new Card(suit, card);
cardIndex++;
}
}
答案 1 :(得分:1)
我不确定是否允许我们添加额外的构造函数。为我们编写的代码确实包括一个Card(int,int)。
只有您的教练或助教可以回答这个问题。我们并非无所不知。
关于您当前的版本:
您确定要制作一份带有西装和卡片类型列表的Card
吗?
即使构造函数存在,我也不认为.equals
符合你的想法。我会查阅有关此事的文件。
答案 2 :(得分:0)
我不确定你的equals方法是做什么的,但你传递的是完整的数组。试试这个......
cards.equals(new Card(suit[s], card[c]));