我在Java中有此代码

for (int j = 0; j < 8; j++)
        {
            Boton[1][j].setIcon(PeonN);
            Peon PeonNegro = new Peon('N');
            Boton[6][j].setIcon(PeonB);
        }


这是为国际象棋而设计的,我希望每个新对象都具有一定数量的循环,而不必创建数组就可以独立使用它,例如

for (int j = 0; j < 8; j++)
            {
                Boton[1][j].setIcon(PeonN);
                Peon PeonNegro+i = new Peon('N');
                Boton[6][j].setIcon(PeonB);
            }


所以我要有PeonNegro0,PeonNegro1等

最佳答案

没有数组或Collection,您将无法执行此操作。 (在Java中,使用动态变量名非常困难)。您必须在for循环外声明类似数组或ArrayList之类的内容,如下所示。

Peon[] peons = new Peon[8];
for (int j = 0; j < 8; j++)
{
    Boton[1][j].setIcon(PeonN);
    peons[j] = new Peon('N');
    Boton[6][j].setIcon(PeonB);
}

// So we can access a single peon like this
Peon p3 = peons[3];

// Or iterate over all peons and get the cycle number like this
for (int cycle_num = 0; cycle_num < 8; cycle_num++) {
    Peon peon = peons[cycle_num];

    // Do something with peon and cycle_num here

}

07-26 05:03