关于java阵列值填入的问题(急)

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:36:19
for(int i = 0;i < 9 ;i++)
for(int x = 0;x < 9 ;x++){
ho[i][2] = iMap[x];
ho[i][3] = iMap[13+(x/3)];
System.out.println("\n ho["+i+"][2]:"+ho[i][2]+"\n ho["+i+"][3]:"+ho[i][3]);
}

for(int i=0;i<9;i++)
{
System.out.println("\n ho["+i+"][2]:"+ho[i][2]+"\n ho["+i+"][3]:"+ho[i][3]);
}

为何2次println出来的值会不一样?
最后一次println出来的结果 ho[0][2]~ho[8][2]和ho[0][3]~[8][3]的值都为最后一次填入的值
可以帮我解答一下么?
感谢你的回答~
可我还是不太懂问题出在哪~
将iMap里的值分别取出来给ho[i][2]和h[i][3]
9次的值应该是不一样的
可为何在传值的时后println可以看到值确传入了
可传完直后再println出来却全是最后传入的那个直?
以下是println的结果

第一个,你对h[i][2]和h[i][3]赋了9次值,然后每次都输出来,最后他们的实际值是最后一次赋值。。。
所以你的第二个println只输出了最后一个赋值。

=第1个println============
ho[0][2]:63
ho[0][3]:144

ho[0][2]:144
ho[0][3]:144

ho[0][2]:234
ho[0][3]:144

ho[0][2]:36
ho[0][3]:189

ho[0][2]:144
ho[0][3]:189

ho[0][2]:243
ho[0][3]:189

ho[0][2]:9
ho[0][3]:243

ho[0][2]:135
ho[0][3]:243

ho[0][2]:252
ho[0][3]:243

ho[1][2]:63
ho[1][3]:144

ho[1][2]:144
ho[1][3]:144

ho[1][2]:234
ho[1][3]:144

ho[1][2]:36
ho[1][3]:189

ho[1][2]:144
ho[1][3]:189

ho[1][2]:243
ho[1][3]:189

ho[1][2]:9
ho[1][3]:243

ho[1][2]:135
ho[1][3]:243

ho[1][2]:252
ho[1][3]:243

ho[2][2]:63
ho[2][3]:144

ho[2][2]:144
ho[2][3]:144

ho[2