高分悬赏:Java语言如何实现蛇形矩阵,输出入下:

输入4
输出
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16

看不出你这个矩阵的规律,除非你维护了矩阵的信息,直接硬性按这个信息输出。

import java.util.Scanner;

/**
 * 蛇形矩阵
 * @author Administrator
 *
 */
public class Demo {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入您想要的行数:");
        int num=s.nextInt();
        System.out.println("您输入的行数是:"+num);
        System.out.println("打印后的蛇形矩阵是:");
        int start=1;
        int end=num;
        int[][] a=new int[num][num];
        int b=0;

        while(start<end){
            for (int i = start; i < end; i++) {
                b++;
                a[start-1][i-1]=b;
            }
            for(int i=start;i<end;i++){
                b++;
                a[i-1][end-1]=b;
            }
            for(int i=end;i>start;i--){
                b++;
                a[end-1][i-1]=b;
            }
            for(int i=end;i>start;i--){
                b++;
                a[i-1][start-1]=b;
            }
            start++;
            end--;
        }
        //奇数加1
        if (num%2!=0) {
            b++;
            a[num/2][num/2]=b;
        }
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                System.out.print(a[i][j]+"\t");
            }
            System.out.println();
            System.out.println();
        }
    }
}

看看这个可以不