2015-04-03 78 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。所以去圖:)