/
Letta21
/
Letta
Обзор
Документация
Войти
/
Letta21
/
Letta
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Matrix
71 строка
3 KB
Letta21
create Matrix
24 сен 2025, 12:57
24 сен 2025, 12:57
8cfb16d
Код
Авторство
О чём код?
import java.util.Random; import java.util.Scanner; public class Matrix { public static final int SIZE = 8; public static void main(String[] args) { int[][] colors = new int[SIZE][SIZE]; Scanner sc = new Scanner(System.in); Random random = new Random(); for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { // для случайных значений воспользуемся готовым решением из библиотеки java.util.Random colors[i][j] = random.nextInt(256); } } while (true) { System.out.println("Изначальная матрица: "); printMatrix(colors); System.out.println("Введите угол поворота матрицы, возможные варианты: 90, 180 или 270 градусов"); String input = sc.nextLine(); int[][] rotatedColors = new int[SIZE][SIZE]; for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { reverseMatrix(colors, input, i, j, rotatedColors); } // Переход на следующую строку } printMatrix(rotatedColors); } } public static void printMatrix(int[][] colors) { for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { // %4d означает, что мы под каждый номер резервируем 4 знака // (незанятые будут заполнены пробелами) // таким образом, у нас получится ровная таблица System.out.format("%4d", colors[i][j]); } // Переход на следующую строку System.out.println(); } } public static void reverseMatrix(int[][] colors, String input, int i, int j, int[][] rotatedColors) { switch (input) { case "90": rotatedColors[j][SIZE - 1 - i] = colors[i][j]; break; case "180": rotatedColors[SIZE - 1 - i][SIZE - 1 - j] = colors[i][j]; break; case "270": rotatedColors[SIZE - 1 - j][i] = colors[i][j]; break; case "end": break; default: throw new IllegalStateException("Unexpected value: " + input); } } }