Итак, я в настоящее время играюсь с многомерными массивами (2D) и пытаюсь изменить порядок каждого массива в двумерном массиве.
Итак, у меня установлен 2D-массив как: int firstArray [] [] = {{5,6,7,8,9,10}, {11,12,13,14,15,16}}
Я вручную просмотрел проблемучтобы увидеть, где я мог пойти не так, чтобы увидеть, какая часть моего кода в конечном итоге выйдет за пределы моих циклов for. Часть -1 также застала меня врасплох.
Я начал делать реверсы на обычном одномерном массиве и пытался применить ту же концепцию к многомерным массивам.
class Test2 {
public static void main (String[] args) {
int firstArray[][] = {{5,6,7,8,9,10}, {10,11, 12, 13, 14, 15}};
System.out.println("FIRST ARRAY");
display(firstArray);
}
public void display(int [][]num) {
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num[i].length/2; j++) {
int temp = num[i][j];
num[i][j] = num[i][num.length-1-j];
num[i][num.length-1-j] = temp;
}
}
for (int a = 0; a < num.length; a++) {
for (int b = 0; b < num[a].length; b++) {
System.out.print(num[a][b] + "\t");
}
System.out.println();
}
}
}
Iхочу, чтобы вывод с использованием моего метода отображения был в основном обратным к массивам в моем 2-м массиве:
10 9 8 7 6 5
15 14 13 12 11 10
Проблема, которую я получаю, это
Исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: -1 ArrayIndexOutOfBoundsException: -1
в Test2.display (Test2.java: 30)
на Test2.main (Test2.java:20)