import java.util.Scanner;
public class Help {
/**
* 处理用户输入不合法的异常
* @return
*/
public int inputNum()
{
Scanner s = new Scanner(System.in);
int num = 0;
try {
num = s.nextInt();
} catch (Exception e) {
//System.out.println(e);
System.out.print("输入的值不合法:请重新输入:");
num = inputNum();//递归调用
}
return num;
}
}
public class Number {
/**
* 完成方格宫格
* @param args
*/
public static void main(String[] args) {
System.out.print("请输入你要输入的宫格数:");
int number = new Help().inputNum();
//创建二维数组保存格式
int a [][]= new int [number][number];
int base = 0;//宫格从多少数字开始
for (int i = 0; i < a.length; i++) {
for (int j = i; j < a.length-i; j++) {
a[i][j]=++base;
}
/*右下排数据*/
for (int j = i+1; j <a.length-i; j++) {
a[j][a.length-i-1]=++base;
}
/*右左排数据*/
for (int j = a.length-i-2; j>i-1; j--) {
a[a.length-1-i][j]= ++base;
}
/*左上排数据*/
for (int j = a.length-2-i; j >i; j--) {
a[j][i]= ++base;
}
}
/*输出结果*/
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
System.out.print(a[i][j]+"\t ");
}
System.out.println();//换行
}
}
}