我正在尝试填充一副牌,我遇到了一个奇怪的问题。我认为它有一个简单的解决方案,但我找不到它的生命。任何帮助将不胜感激。
基本上发生的是,它进入For循环,初始化的int立即是最终所需大小的大小。即使它初始化为0。
/* Create Deck */
String[] deck = new String[52];
int y, z, i = 0;
for (z = 0; z < 3; z++); // Loop while fills deck array
{
for (y = 0; y < 12; y++);
{
deck[i] = CreateCard(y, z); //Trigger CreateCard method for each card
System.out.println(deck[i]);
i++;
}
}
当代码进入行deck[i] = CreateCard(y, z);
时
z的值是3,y是12.为什么这不能贯穿整个套牌?
答案 0 :(得分:2)
在for循环声明的末尾有半列。而且你知道当我们在循环结束时有一个半列时,循环的主体不会随着每次迭代运行,并且当for循环的条件终止时,循环的主体只执行一次。
更正后的代码
/* Create Deck */
String[] deck = new String[52];
int y, z, i = 0;
for (z = 0; z < 3; z++) // Loop while fills deck array
{
for (y = 0; y < 12; y++)
{
deck[i] = CreateCard(y, z); //Trigger CreateCard method for each card
System.out.println(deck[i]);
i++;
}
}