Java – 使用嵌套for循环创建带数字的三角形

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

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返回的for循环是实现此目的的方法。

尝试

  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 

打印2 *(6-i)个空格,然后从j = 0开始打印数字,而j> 0,然后打印j = 2的数字,而j <= i。