【发布时间】:2013-07-31 20:21:51
【问题描述】:
我已经按照我现在想要的方式修复了它。如果其他人有同样的问题,我认为这是尝试设置一副牌的最简单和最有效的方法。您可以使用deck[random][0] 和deck[random][1] 中的随机变量挑选出单独的卡片。 感谢所有帮助,这是我的代码:
public class NewDeck {
public static void main(String[] args) {
String[] suits = new String[] { "Clubs", "Diamonds", "Spades", "Hearts" };
String[] faces = new String[] { "Ace", "King", "Queen", "Jack" };
String[][] deck = new String[suits.length * (faces.length + 9)][2];
int a = 0;
for (String y : suits) {
for (String x : faces) {
deck[a][0] = x;
deck[a][1] = y;
a++;
}
}
for (String y : suits) {
for (int p = 2; p < 11; p++) {
deck[a][1] = y;
String pp = Integer.toString(p);
deck[a][0] = pp;
a++;
}
}
for (int p = 0; p < deck.length; p++) {
System.out.print(deck[p][0] + " of ");
System.out.println(deck[p][1]);
}
}
}
【问题讨论】:
-
它会给你一个编译错误 -
deck.add(suits[suit], faces[face]);,deck 不是地图实例。 -
为什么不创建一个具有“Suit”和“Face”两个属性的类Card?这就是 Java 的全部意义所在!
-
@tech-idiot:我在 for 循环中收到错误消息:“长度无法解析或不是字段”并且出现错误 - deck.add(suits[suit], faces[脸]); - 说'表达式的类型必须是一个数组,但被解析为一个列表'
标签: java arrays list for-loop append