【发布时间】:2014-11-24 06:03:21
【问题描述】:
我正在尝试创建一副包含 81 张独特卡片的卡片组(基于 SET 游戏)。我试图通过使用三个通用的 for 循环来实现这一点。现在,我有三个具有特征(形状、颜色、图案)的字符串数组。然而,在将println 语句添加到循环中后,我发现只有一种模式会创建红牌。
ArrayList<Card> deck = new ArrayList<Card>();
static public Deck create() {
Deck deck = new Deck();
String[] shapes = new String[] { "diamond", "squiggly", "oval",
"double diamond", "double squiggly", "double oval",
"triple diamond", "triple squiggly", "triple oval" };
String[] colors = new String[] { "red", "green", "purple" };
String[] patterns = new String[] { "stripes", "filled in", "outlined" };
// Shapes
for (String shape : shapes) {
System.out.println(shape);
// Colors
for (String color : colors) {
System.out.println(color);
// Patterns
for (String pattern : patterns) {
System.out.println(pattern + "\n");
Card card = new Card(shape, color, pattern);
deck.deck.add(card);
break;
}
break;
}
}
return null;
}
这是输出:
diamond
red
stripes
squiggly
red
stripes
oval
red
stripes
double diamond
red
stripes
double squiggly
red
stripes
double oval
red
stripes
triple diamond
red
stripes
triple squiggly
red
stripes
triple oval
red
stripes
现在,它应该使用每个单独的图案和形状创建所有形状。我完全迷失了这一点,我将不胜感激!
【问题讨论】: