分享一个java面试中遇到的一个数字编程题

题目是编写java程序打印出一下数字形状:

1

        7   2
        12 8   3
        16 13 9   4
        19 17 14 10 5
        21 20 18 15 11 6

当初做题的时候比较着急没用做出来,其实思路也都想出来了,就是没具体编码出来,关键是控制数组的坐标变换而已:
下来做了一下,与大家共享下,请多指正。

public class Test {

public static void main(String[] args) {

int count=1;
int [][]  a=new int [12][12];

//赋值
for(int i=0;i<12;i++){
for(int j=0;j<12-j;j++){
if(j>=i){
a[j][j-i]=count++;
}
}
}

//打印
for(int i=0;i<12;i++){
for(int j=0;j<12;j++){
if(a[i][j]!=0){
System.out.print(a[i][j]+” “);
}

}
System.out.println(” “);
}

}

}

标签