二维数组 NullPointerException

2D array NullPointerException

我在尝试将值存储在二维数组中时收到 NullPointerException

int length = red[0].length;
int[][] sums = new int[length][];

for (int i = 0; i < length; i++) {
    int total = 0;
    for (int j = 0; j < length; j++) {
        int val = red[i][j];
        total = val + total;
    }
    sums[0][i] = total;
}

如果我将 total 存储在一维数组中,效果很好。谁能告诉我为什么会出现这个错误?

我相信内部的和数组也应该有一定的容量。例如:

int[][] sums = new int[length][length];

否则您正在访问 sum[0][i] 但无法在索引 i.

处访问内部数组