Загрузка данных


public class Main {
    public static void main(String[] args) {
        // Создаем двумерный вывод матрицы 5x5 по порядку чисел от 1 до 25
        int[][] matrix = new int[5][5];
        
        int num = 1;
        // Заполняем матрицу диагоналями (обход змейкой/диагональный порядок)
        for (int d = 0; d < 9; d++) {
            if (d % 2 == 0) {
                // Движение снизу-вверх влево
                for (int r = Math.min(d, 4); r >= Math.max(0, d - 4); r--) {
                    int c = d - r;
                    matrix[r][c] = num++;
                }
            } else {
                // Движение сверху-вниз вправо
                for (int r = Math.max(0, d - 4); r <= Math.min(d, 4); r++) {
                    int c = d - r;
                    matrix[r][c] = num++;
                }
            }
        }

        // Вывод матрицы на экран
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(matrix[i][j] + "\t");
            }
            System.out.println();
        }
    }
}