Доброго времени суток. Встретился с такой проблемой.
Есть два метода, выполняющих два разных действия с матрицей.
public static void rotate90() {
System.out.println("Матрица развернута на 90 градусов!");
System.out.println();
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
rotMatrix[i][j] = matrix[SIZE - (j + 1)][i];
}
}
}
и
public static void rotate180() {
System.out.println("Матрица развернута на 180 градусов!");
System.out.println();
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
rotMatrix[i][j] = matrix[SIZE - (i + 1)][SIZE - (j + 1)];
}
}
}
Хочу упростить код и сделать метод для вывода матрицы, чтобы не дублировать все внутри каждого метода.
Поскольку изменяется только String в первом sout и массив matrix[][], разумно, что надо делать метод с их вводом, т.е.
public static void output(String name, int[][] matrix) {
System.out.println(name);
System.out.println();
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
rotMatrix[i][j] = ???;
}
}
}
Сейчас не понимаю, как сделать так, чтобы можно было вводить значения для отдельных массивов int[][] matrix. Т.е. в первом случае через метод подставить вместо вопросов matrix[SIZE - (j + 1)][i], а во втором - matrix[SIZE - (i + 1)][SIZE - (j + 1)] .
Также вопрос, как этот метод выводить?
Пример:
output("Матрица развернута на 90 градусов!", ???);
Следовательно, вопрос. Добрые люди, подскажите, как это можно реализовать?