2015-04-12 95 views
-2

我當前的代碼是:什麼是合適的循環?

for (int i = 0; i <= 3; i++){ 
    System.out.print("*"); 

但輸出是:

*** 

我想要實現的是:

*** 
**# 
*## 
### 

我用適當的循環或爲Am這與我的循環參數或循環體有關嗎?
我能想到的唯一解決方案是將一個字符串相乘,但這當然是不可能的。

+1

您需要兩個循環 –

+0

發佈您的完整代碼! –

+0

有很多方法可以做到這一點,但作爲一個提示,我只是說你需要在另一個循環內循環。 – Juan

回答

0
int index = 3; 
for(int i=0; i<=3; i++) { 
    for(int j=0; j<3; j++) { 
     if(j < index) { 
      System.out.print("*");     
     } else { 
      System.out.print("#"); 
     } 
    } 
    System.out.println("\n"); 
    index--; 
} 
0

如果你想這樣做的for循環單,你可以按照如下做到這一點:

char[] tmp = new char[3]; 
java.util.Arrays.fill(tmp, 0, 3, '*'); 
String stars = new String(tmp); // stars is now "***" 
java.util.Arrays.fill(tmp, 0, 3, '#'); 
String hashes = new String(tmp); // hashes is now "###" 

for (int i = 0; i <= 3; ++i) { 
    System.out.println(
    stars.substring(0, 3 - i) // 3 - i '*' characters 
     + hashes.substring(0, i) // i '#' characters 
); 
} 

我相信這是線沿線的你可能會被「乘以」意味着字符串。