使用嵌套循环显示三角形图案

时间:2015-04-03 01:33:58

标签: for-loop nested nested-loops

我遇到的问题是显示带有嵌套循环的三角形图案。更具体地说,是颠倒的。我目前难以显示三角形的左侧。我可以在一定程度上看到问题但我无法解决它。我认为问题是我无法在第二个for循环语句中正确显示每行的符号数,而不会显示太多数字。这是我的代码。

public class DisplayPatternC {
    public static void main(String[] args) {
        int rows = 7;
        int noOfSpaces = 0;

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

这是我的输出:

1111111
222222
33333
4444
555
66
7

我想要的输出是:

1111111111111
 22222222222
  333333333
   4444444
    55555
     666
      7

1 个答案:

答案 0 :(得分:0)

好吧,只需观察输出就可以确定每行的位数是:(从底部开始)1,3,5,7,9 ...这是2n - 1的公式。如果您希望按指定的方式制作三角形,那么您需要相应地输出空格,这样可以使用模式0,1,2,3,4 ...

因此,获取每个$i的位数的公式为2 * ($rows - $i + 1) - 1。并且在开始打印数字之前的空格数是$i - 1。所以去图:)