import java.util.Scanner;
public class JavaStudy{
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
int n;
System.out.println("请输入一个奇数来构成一个幻方:");
while(true) {
n=sc.nextInt();
if(n%2==0) {
System.out.println("输入错误,请重新输入。");
}
else {
break;
}
}
int mat[][]=new int[n][n];
int x=0,y=n/2;
for(int i=1;i<=n*n;i++) {
mat[x][y]=i;
if(i%n==0) {
x=(x%n)+1;
}
else {
x=(x-1+n)%n;
y=(y+1)%n;
}
}
for(int i=0;i<n;i++) {
for(int k=0;k<n;k++) {
System.out.print(mat[i][k]);
System.out.print('\t');
}
System.out.println('\t');
}
sc.close();
}
}
输入3
结果:
8 1 6
3 5 7
4 9 2