一道打印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 }