我在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
}