-8

我有作业要做一个看起来像这样的三角形:

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

我已经能够使用以下代码创建几乎一半的三角形:

public static void main(String[] args) {
    for (int i = 1; i <= 6; i++) {
        for (int j = 1; j <= i; j++)
            System.out.print(j + " ");
        System.out.println();
    }
}

我一直无法弄清楚如何用我的代码镜像三角形的另一半,使其看起来像上面的三角形。讲师暗示使用带有 tab return \t 的 for 循环是执行此操作的方法。

4

2 回答 2

1

像@Maroun 的回答一样,但更简单

int size = 6;
for (int i = 1; i <= size; i++) {
    for (int j = i; j < size; j++)
        System.out.print(" ");
    for (int j = 1; j <= i; j++)
        System.out.print(j + " ");
    System.out.println();
}

或者

int size = 6;
for (int i = 1; i <= size; i++) {
    for (int j = i - size + 1; j <= i; j++)
        System.out.print((j > 0 ? j : "") + " ");
    System.out.println();
}

印刷

     1 
    1 2 
   1 2 3 
  1 2 3 4 
 1 2 3 4 5 
1 2 3 4 5 6 
于 2013-10-20T14:33:10.947 回答
0

你可以试试这个:

int x = 0;
for(int i = 1; i <= 5; i++) {
   for(int k = x; k < 4; k++) {
      System.out.print(" ");  
   }
   x++; //less spaces will be printed in the next iteration
   for(int j = 1; j <= i; j++) {
      System.out.print(j + " ");
   }
   System.out.println();
}

我写了另一个以 4 个空格开头的循环,然后减少了空格的数量。


输出:

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

提示:始终{为您的循环和条件打开,即使对于一个操作,这也可以防止错误。

于 2013-10-20T14:22:28.923 回答