-2
我当前的代码是:什么是合适的循环?
for (int i = 0; i <= 3; i++){
System.out.print("*");
但输出是:
***
我想要实现的是:
***
**#
*##
###
我用适当的循环或为Am这与我的循环参数或循环体有关吗?
我能想到的唯一解决方案是将一个字符串相乘,但这当然是不可能的。
我当前的代码是:什么是合适的循环?
for (int i = 0; i <= 3; i++){
System.out.print("*");
但输出是:
***
我想要实现的是:
***
**#
*##
###
我用适当的循环或为Am这与我的循环参数或循环体有关吗?
我能想到的唯一解决方案是将一个字符串相乘,但这当然是不可能的。
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--;
}
如果你想这样做的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
);
}
我相信这是线沿线的你可能会被“乘以”意味着字符串。
您需要两个循环 –
发布您的完整代码! –
有很多方法可以做到这一点,但作为一个提示,我只是说你需要在另一个循环内循环。 – Juan