每次我调用 set() 时,它都会将数组中的所有值重置为 false,除了 int row int col 是什么,因为我在方法结束之前将其设置为 true。为什么会发生这种情况?我以为我正在复制数组 B,然后将 A 中的值设置为 B 中的值?还是我在这里弄错了。
public void set(int row, int col) throws IndexOutOfBoundsException {
if (row >capacityr) {
boolean B[][] = new boolean[row+1][capacityc+1];
for (int k = 0; k < capacityr; k++)
for (int j = 0; j < capacityc; j++)
B[k][j] = a[k][j];
capacityr=row;
a = B;
}
if (col >capacityc) {
boolean C[][] = new boolean[capacityr+1][col+1];
for (int k = 0; k <capacityr; k++)
for (int j = 0; j < capacityc; j++)
C[k][j] = a[k][j];
capacityc=col;
a = C;
}
a[row][col] = true;
pT++;
}