星际楼梯混乱

时间:2013-05-03 18:40:11

标签: java

好吧我很尴尬我不得不问这个问题,但我已经陷入困境,所以我们走了,请朝正确的方向推动我。 我们需要使用嵌套循环创建它:

*
**
***
****
*****

这是我想出的。

int row,col; 
for(row = 5; row >= 1; row--)
{ 
    for (col = 0; col < 5 - row; col++)
        println("");

    for(col = 5; col >= row; col--)
        print("*");
}

它几乎可以工作,但它在每一行之间打印空格,我不能为我的生活找出原因。

4 个答案:

答案 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));