做的一个面试题,当时没做出来,后来自己想了想,做了出来。
做出来这样一个效果。
一开始做的时候一直想从中间的1开始输出,但一直做不出来,后来改变思路,从上面的最大的25开始输出,就是25,24,23……到1,这样输出。用4个变量
xtop,xbottom,yleft,yright来记录数组的4条边。做了一个循环,每次确定数组的最外面的4条边的值。
代码如下:
public static void main(String[] args){
int[][] a ;
Scanner input = new Scanner(System.in);
System.out.println("请输入一个大于0的整数:");
int x=0;
try {
x = input.nextInt();
} catch (Exception e) {
System.out.println("只能输入整数");
return;
}
if (x<1){
System.out.println("你输入的数字小于1了");
return;
}
else{
//上面的都是一些无关紧要的判断,关键代码在这里。
a = new int[(2*x-1)][(2*x-1)];
a[x-1][x-1]=1;
int co