我不明白为什么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]的值时。

08-19 19:07