Java - For Loop立即满足要求

时间:2016-04-23 10:20:01

标签: java for-loop

我正在尝试填充一副牌,我遇到了一个奇怪的问题。我认为它有一个简单的解决方案,但我找不到它的生命。任何帮助将不胜感激。

基本上发生的是,它进入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.为什么这不能贯穿整个套牌?

1 个答案:

答案 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++;
    }
}