Java语言怎么实现蛇形数组矩阵的输出

Java语言怎么实现蛇形数组矩阵的输出?是用几个循环才能实现?是不是循环才能实现蛇形数据

蛇形数组矩阵,你说的是这种嘛?

img

参考如下:

public class Main {

    public static void main(String[] args) {
        int n = 5;
        int[][] arr = new int[n][n];

        int value = 1;
        boolean flag = true;
        for (int i = 0; i < n; i++) {
            if (flag) {
                for (int j = 0; j < n; j++) {
                    arr[i][j] = value++;
                }
                flag = false;
            } else {
                for (int j = n - 1; j >= 0; j--) {
                    arr[i][j] = value++;
                }
                flag = true;
            }
        }

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

效果如图:

img

代码如下 :

public class SnakeMatrix {
    public static void main(String[] args) {
        int n = 4; // 数组维度
        int[][] matrix = new int[n][n]; // 声明并初始化二维数组

        int num = 1; // 数组元素的初始值

        // 循环遍历数组并赋值
        for (int i = 0; i < n; i++) {
            if (i % 2 == 0) {
                for (int j = 0; j < n; j++) {
                    matrix[i][j] = num++;
                }
            } else {
                for (int j = n - 1; j >= 0; j--) {
                    matrix[i][j] = num++;
                }
            }
        }

        // 输出蛇形数组矩阵
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print(matrix[i][j] + "\t");
            }
            System.out.println();
        }
    }
}


说明:
代码中,使用了两个循环来遍历二维数组。通过判断行索引的奇偶性,决定从左到右还是从右到左赋值,以实现蛇形的效果。你可以根据需要调整变量n的值来改变数组的维度大小。