我不明白为什么initialCoordinates
变量在变化。当我运行程序时,initialCoordinates
在每次循环后都会更改值。
int[] initialCoordinates = { 26, 0 };
int[] positions = { 1, 2, 3, 4 };
int[][] coordinates = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } };
for (int i = 0; i < 4; i++) {
System.out.println("Initial: " + initialCoordinates[1]);
coordinates[i] = initialCoordinates;
coordinates[i][1] += positions[i];
}
最佳答案
在您的示例中,您将coordinates[i]
设置为initialCoordinates
。
然后在下一行中,您将执行coordinates[i][1] = ...
,即通过initialCoordinates
间接访问coordinates[i]
并更改initialCoordinates[1]
的值时。