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

标签 java for-loop

我有作业要制作一个如下所示的三角形:

          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循环返回\t就是这样做的方法。

最佳答案

尝试

    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 

关于Java - 使用嵌套 for 循环创建带有数字的三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14493599/

相关文章:

java - 为什么我收到错误 "must be caught or declared to be thrown"?

JavaCC:嵌套 for 循环

java - Rxjava 2 Maybe.toSingle 错误

java - 尝试对 java 持久性实体管理器进行单元测试时无法获取数据源

java - 使用 IE webdriver 进行 TestNG

Java - 在这种情况下如何正确规避非法访问异常

java - spring 是否有办法在应用程序首次加载时加载东西?在全局范围内

java - 为了循环效率

for-loop - 为什么以负数开始的范围不迭代?

Javascript Array[i] 作为循环中的条件