打印数字三角形 - 两个正方形

时间:2015-02-05 00:36:08

标签: java loops

         1
       2 1 2 
     4 2 1 2 4 
   8 4 2 1 2 4 8

尝试按上述方式打印三角形,但我很难打印两个方块(n * = 2)。我该如何融入这个?目前,它给了我以下输出。感谢您的帮助。 当前输出(错误的数字):

         1
       2 1 2 
     3 2 1 2 3 
   4 3 2 1 2 3 4

到目前为止,这是我的代码(例如,高度= 4):

     for(int i=1; i<=height; i++) {

        for (int j = 1; j <= height-i; j++) 
            System.out.print("   ");

        for(int k=i; k>=2; k--) 
            System.out.printf("%-3d",k);

        for(int l=1; l<=i; l++) 
            System.out.printf("%-3d",l);

    System.out.println();
    }

1 个答案:

答案 0 :(得分:1)

你去了

     for(int i=1; i<=height; i++) {
        for (int j = 1; j <= height-i; j++) 
          System.out.print("   ");

        for(int k=1<<i-1; k>=2; k>>=1) 
          System.out.printf("%-3d",k);

        for(int l=1; l<=1<<i-1; l<<=1) 
          System.out.printf("%-3d",l);

        System.out.println();
     }

code