0

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

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

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

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 的 for 循环\t是执行此操作的方法。

4

2 回答 2

2

尝试

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

输出

          1 
        2 1 2 
      3 2 1 2 3 
    4 3 2 1 2 3 4 
  5 4 3 2 1 2 3 4 5 
6 5 4 3 2 1 2 3 4 5 6 
于 2013-01-24T05:18:34.143 回答
0

打印 2*(6-i) 个空格,然后在 j > 0 时从 j = i 降序打印数字,然后在 j <= i 时从 j = 2 升序打印数字。

于 2013-01-24T03:50:09.000 回答