2015-04-12 49 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 
); 
} 

我相信这是线沿线的你可能会被“乘以”意味着字符串。