一道打印M的面试题

 1 public class Demo {
 2 
 3     /**
 4      * 平面图形题(二维数组)
 5      */
 6     public static void main(String[] args) {
 7 
 8         int num = 25;
 9         
10         int hight = num/4+1;
11         int width = num;
12         
13         int arr[][] = new int[hight][width];
14         
15         int x=hight-1;
16         int y=0;
17         
18         boolean order = false;
19         for(int i=1;i<=num;i++){
20             arr[x][y] = i;
21             y++;
22             
23             if(order==false){
24                 x--;
25             }
26             if(order==true){
27                 x++;
28             }
29             
30             if(x<0){
31                 order = true;
32                 x=x+2;
33             }
34             
35             if(x>hight-1){
36                 order =false;
37                 x=x-2;
38             }
39         }
40         
41         for(int i=0;i<arr.length;i++){
42             for(int j=0;j<arr[i].length;j++){
43                 if(arr[i][j]==0){
44                     System.out.print(" ");
45                 }else{
46                     System.out.print(arr[i][j]);
47                 }
48             }
49             System.out.println();
50         }
51         
52     }
53 
54 }
View Code

 

posted @ 2014-06-23 21:53  是但哥  阅读(171)  评论(0编辑  收藏  举报