2015-04-03 128 views
0

我遇到的问题是显示带有嵌套循环的三角形图案。更具体地说是一个颠倒的。我目前很难显示三角形的左侧。我可以在一定程度上看到问题,但我无法解决问题。我认为这个问题是我无法得到每行的符号数量,以正确显示在第二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 
+0

你也可以请发布预期的输出? – Bergi 2015-04-03 01:40:20

回答

0

嘛,只是通过观察,你能确定的每行的位数是输出:(从底部开始)1,3,5,7,9 ......这是一个公式为2n - 1。如果你想按照指定的方式制作三角形,你需要相应的输出空格,这种格式可以是0,1,2,3,4 ...

所以这个公式可以获得每个数字的位数$i2 * ($rows - $i + 1) - 1。开始打印数字前的空格数是$i - 1。所以去图:)