我的教科书给了我这段代码,说它会创建一套新的52张牌。我真的不明白它的作用,因为我在google上看到的方法与此截然不同。我对“索引”变量的作用感到困惑,如何打印此方法?我有一个printdeck方法,但如果此方法不返回任何数字,我将如何调用该方法?
public static void buildDeck () {
Card[] deck = new Card [52];
int index = 0;
for (int suit = 0; suit <=3; suit++) {
for (int rank = 1; rank <= 13; rank++) {
deck[index] = new Card (suit, rank);
index++;
}
}
//here is my printDeck method
public static void printCard (Card c) {
String[] suits = { "Clubs", "Diamonds", "Hearts", "Spades" };
String [] ranks = { "nart", "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "jack", "Queen", "king" };
System.out.println (ranks[c.rank] + " of " + suits[c.suit]);
}
public static void printDeck (Card[] deck) {
for (int i = 0; i< deck.length; i++) {
printCard (deck[i]);
}
}
我会感激任何帮助,谢谢!
答案 0 :(得分:0)
索引变量与名称states一样,用作卡组的计数索引。
printDeck(..)方法应该通过调用printCard(..)方法将该整体打印到控制台,并且该方法返回调用System.out.println
答案 1 :(得分:0)
printDeck
并没有真正打印到控制台。每个卡需要一系列卡片和调用方法printCard
(提供当前卡作为参数)。方法printCard
- 如前所述 - 采用一张卡片并将其等级/套件打印到控制台。
public static void printCard(Card c){ System.out.println(排名[c.rank] +&#34;&#34; +适合[c.suit]); }
使用index
变量,例如初始化卡片组。
new Card
,并且必须将其分配到卡组中的某个位置。这是通过index
完成的,并在每次迭代时递增。答案 2 :(得分:0)
您应该从buildDeck方法返回card [] deck,然后将其传递给print方法。