2015-05-05 119 views
-7

所以這可能是一個愚蠢的問題,但你如何改變金字塔顯示的顯示方式?就像我知道的是,爲了得到這樣的:Java金字塔顯示

111111 
11111 
1111 
111 
11 
1 

你寫

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

但我必須做的就是它顯示爲這樣:

1 
    11 
    111 
1111 
11111 
+3

其實您發佈的代碼並不完全給出第一個結果 – Joffrey

+0

您是否嘗試檢查Google或其他stackoverflow問題。檢查這個http://stackoverflow.com/questions/11409621/creating-a-triangle-with-for-loops。嘗試做一些修改併發揮一下。或者查看http://www.java.achchuthan.org/2011/01/nested-for-loop-example-to-print.html – Anshuman

回答

0
int n = 5; 
for (int i = 0; i <= n; i++) { 
    System.out.println(); 
    for (int j = i; j < n; j++) { 
     System.out.print(" " + n); 
    } 
} 

5 5 5 5 5 
5 5 5 5 
5 5 5 
5 5 
5 

但是,這是混亂的。它有2個循環。因此,讓我們這樣做,而不是:

String value = " 55555"; 

for (int i = 0; i < 5; i++) { 
    System.out.println(value.substring(i, i + 5)); 
} 

這讓我們

5 
    55 
    555 
5555 
55555 

只要確保你在value串足夠的空間才能正常串。

+0

你的第二個版本不會產生OP所尋找的相同輸出。注意對齊。 :) – CubeJockey

+0

呃,我會解決它。 1秒。 – Aify

+0

@Trobbins固定。 – Aify

0

非常簡單:只要看看規則如何在行中分配「1」和空格。金字塔高度:h line n:由h - n空格加上n「1」s組成。只需將這些規則轉換爲代碼,它就可以工作。