【问题标题】:Java number pattern two triangle side by side to make a square/rectangleJava数字模式两个三角形并排制作正方形/矩形
【发布时间】:2020-01-28 05:43:14
【问题描述】:

我希望输出如下所示:

如何安排这些循环以获得两个三角形数字模式?以及如何改进我的代码。 JAVA 中的新功能:-)

    for (int i = 1; i<=10; i++ ) {
        for (int j = 1; j <= i; j++) {
            System.out.print(j);
        }
        System.out.println();
    }
    for (int count = 1; count <= 10; count++) {
        for (int index=1; index < count+1; index++)
            System.out.print(" ");

        for (int num=10; num >count; num--) {
            System.out.print(num);
        }   
        System.out.println();
    }

【问题讨论】:

    标签: java loops for-loop numbers


    【解决方案1】:

    这样的事情怎么样?

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

    输出:

    1   10 9 8 7 6 5 4 3 2 1 
    1 2   10 9 8 7 6 5 4 3 2 
    1 2 3   10 9 8 7 6 5 4 3 
    1 2 3 4   10 9 8 7 6 5 4 
    1 2 3 4 5   10 9 8 7 6 5 
    1 2 3 4 5 6   10 9 8 7 6 
    1 2 3 4 5 6 7   10 9 8 7 
    1 2 3 4 5 6 7 8   10 9 8 
    1 2 3 4 5 6 7 8 9   10 9 
    1 2 3 4 5 6 7 8 9 10   10 
    

    说明 - 外部循环遍历行,因此为了清楚起见,我将 i 重命名为 row。第一个内部循环与您的代码没有变化 - 它负责打印对角线之前的数字。然后我们打印一个双空格 (System.out.print(" ")),然后第二个循环打印其余的数字,从 10 开始,一直到行号。

    另外,您应该更好地格式化您的代码。缩进确实有助于提高可读性和理解力。

    例如,您的第一个循环如下所示:

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

    但应该是这样的:

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

    这是相同的代码,但在格式化版本中,更容易看到第二个 System.out.println 语句位于内部 for 之后,最后一个右括号关闭了外部 for 循环,而不是其他内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 2020-07-25
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多