Я хочу сложить две матрицы и вернуть новую матрицу. Пример: matrixAdd ({{1, 2, 3}, {4, 4, 4}}, {{5, 5, 6}, {0, -1, 2}}) ожидается возврат: {{6, 7 , 9}, {4, 3, 6}}. Я не могу понять, почему мой код генерирует исключение индекса за пределами границ ... Кстати, массивы, переданные как параметры, всегда будут иметь одинаковые размеры, поэтому мне не нужно об этом беспокоиться.
public static int[][] matrixAdd(int[][]a, int[][]b){
int[][]matrix = new int[a.length][b.length];
for(int r=0; r<a.length; r++){
for(int c=0; c<a[r].length; c++){
matrix[r][c] = a[r][c] + b[r][c];
}
}
return matrix;
}