好吧我很尴尬我不得不问这个问题,但我已经陷入困境,所以我们走了,请朝正确的方向推动我。 我们需要使用嵌套循环创建它:
*
**
***
****
*****
这是我想出的。
int row,col;
for(row = 5; row >= 1; row--)
{
for (col = 0; col < 5 - row; col++)
println("");
for(col = 5; col >= row; col--)
print("*");
}
它几乎可以工作,但它在每一行之间打印空格,我不能为我的生活找出原因。
答案 0 :(得分:2)
为什么循环结束时只有一个println("");
而不是循环该语句?你每行星只需要一个新行。
答案 1 :(得分:1)
我认为你只想用一个内环来打印每一排星星。然后在每行的末尾打印换行符:
int row, col;
for(row = 1; row <= 5; row++) {
for(col = 0; col < row; col++) {
print("*");
}
println("");
}
答案 2 :(得分:0)
你为什么不这样做:
for (int row = 0; row < 5; row++) {
for (int col = 0; col <= row; col++) {
System.out.print("*");
}
System.out.print("\n");
}
答案 3 :(得分:0)
为什么不简化它?
int row, col;
for(row=0; row<5; row++) {
for(col=0;col<=row;col++) {
System.out.print("*");
}
System.out.println();
}
一次打印一行,然后打印行端
仅为一个I / O操作,函数可能是一种合适的方法:
public String starStarcase(int rows) {
int row, col;
String str="";
for(row = 0; row < rows; row++) {
for(col = 0; col <= row; col++) {
str += "*";
}
str += "\n";
}
return str;
}
打印结果:
System.out.println(starsStaircase(5));