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 }