我不明白为什么变量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];
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ark 11
在您的例子你设置coordinates[i]到initialCoordinates.
然后在你正在执行的下一行中coordinates[i][1] = ...,当你initialCoordinates间接访问coordinates[i]并更改其值时initialCoordinates[1].