魔术矩阵Java代码

 1 //该魔术矩阵默认从右上角45度递增
 2 //@漫流——595128841在qq点com
 3 //import java.util.Arrays; //用于打印API函数
 4 public class  魔方矩阵
 5 {
 6     public static void main(String[] args)
 7     {
 8         int n = 7;
 9         int a =0;
10         int b =(n-1)/2;
11         int[][] arr = new int[n][n];
12         for(int i=1;i<=n*n;i++)
13         {
14             if(i==1)
15             {
16                 arr[a][b]=1;
17             }else
18             {
19                 a-=1;
20                 b+=1;
21                 if((i-1)%n==0)
22                 {
23                 
24                     a+=2;
25                     b-=1;
26                     arr[a][b]=i+1;
27                 }else if(a<0)
28                 {
29                     a=n-1;
30                     arr[a][b]=i; 
31                 }else if(b>n-1)
32                 {
33                     b=0;
34                     arr[a][b]=i;
35                 }
36                  else{
37                     arr[a][b]=i; 
38                 }
39             }
40             //System.out.println("i的值:"+i+" a的值:"+a+" b的值:"+b);  //显示与a、b间的关系
41         }
42         //System.out.print(Arrays.deepToString(arr)); 打印二维数组API函数
43         //也可以用下面for语句代替
44         for(int i=0;i<arr.length;i++)
45         {
46             for(int j=0;j<arr[i].length;j++)
47             {
48                 System.out.print(arr[i][j]+" ");
49             }
50             //换行
51             System.out.println();
52         }
53     }
54 }
原文地址:https://www.cnblogs.com/manliu/p/3977561.html