Итак, я пытался решить следующую проблему:
С учетом двумерного массива (матрицы) и двух чисел: i и j. Поменяйте местами столбцы с индексами i и j в матрице.
Входные данные содержат размеры матрицы n и m, не превышающие 100, затем элементы матрицы, затем индексы i и j.
Пример ввода 1:
- 3 4
- 11 12 13 14
- 21 22 23 24
- 31 32 33 34
- 0 1
Пример вывода 1:
- 12 11 13 14
- 22 21 23 24
- 32 31 33 34
Чтобы решить эту проблему, я написал следующий код:
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int rows = scanner.nextInt();
int tables = scanner.nextInt();
int[][] matrix = new int[rows][tables];
int i = scanner.nextInt();
int j = scanner.nextInt();
for (int w = 0; w < rows; w++){
int temp = matrix[w][i];
matrix[w][i] = matrix[w][j];
matrix[w][j] = temp;
}
System.out.print(matrix);
}
}
И ошибка - исключение в потоке "main" java .lang.ArrayIndexOutOfBoundsException: индекс 11 из ограничения длины 4 в Main.main (Main. java: 15).
В чем может быть проблема и решение?