用Java填充2D数组

时间:2016-03-12 17:17:39

标签: java arrays

我确信这里有一些简单的东西,但我有一个名为coinBox的2d Coin对象数组,我已经初始化了,我想用每个循环使用一个Coin对象来填充它。当我使用常规for循环时,它工作正常,但每个我最终得到的所有我的硬币对象在coinBox保持null。这是我的代码。

  for(int r = 0; r < coinBox.length;r++){
     for(int c = 0; c < coinBox[r].length;c++){
        coinBox[r][c] = new Coin(country,0,0);
     }
  }
  for(Coin[] coin : coinBox){
     for(Coin c : coin){
        c = new Coin(country,0,0);
     }
  }

1 个答案:

答案 0 :(得分:1)

如果是数组 - 例如

for(Coin c : coin){ 
    //do something with `c`
}

相同
for(int i = 0; i<coin.length; i++){
    Coin c = coin[i];
    //do something with `c`
}

因此,您看到Coin c是局部变量,它保存位置i处的数组的值。所以每次你做

c = new Coin(country,0,0);

您正在为该局部变量c分配新值,这不会影响数组。

相关问题