Итак, как это должно работать.Я ввожу «n» и «m», чтобы создать двумерную матрицу с разрешением n * m.Мне нужно повернуть его на 90 градусов вправо, чтобы сделать его похожим на изображение, нарисованное краской:
Я написал код, но не могудействительно заставить это работать - похоже, это легко, но каждый раз, когда я пытаюсь заставить это работать, я получаю "исключение вне".Вот оно:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s1 = new Scanner(System.in);
int n = s1.nextInt();
int m = s1.nextInt();
System.out.println();
int[][] array = new int[n][m];
int[][] ar = new int[n][m];
for(int i = 0; i < array.length; i++) {
for(int j = 0; j < array[n - 1].length; j++) {
array[i][j] = s1.nextInt();
}
}
System.out.println("INPUT ARRAY :");
System.out.println();
for(int i = 0; i < array.length; i++) {
for (int j = 0; j < array[n - 1].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
/* here is the main actions with the array begin*/
for(int i = 0; i < array.length; i++) {
for(int j = 0; j < array[n - 1].length; j++) {
ar[i][j]=array[n - j - 1][i];
}
}
/*the end of actions with the array*/
System.out.println("TASK ARRAY :");
System.out.println();
for(int i = 0; i < ar.length; i++) {
for (int j = 0; j < rr[n - 1].length; j++) {
System.out.print(ar[i][j] + " ");
}
System.out.println();
}
}
}
Что именно я делаю не так?