打印星星的“三角形”时出现循环错误

用户名

我正在尝试使用嵌套循环打印下面的图片(我应该使用for和while循环):

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

以5个空格开头,每行减2。从2颗星开始,每行增加2颗星。在4行结束。

我的代码在第一行工作,但在其余3行上不打印星号。有人可以看到错误内容吗?请不要给出答案,我只需要帮助您了解逻辑错误即可!

    int m = 6;
    int n = 0;

    for(int l = 1; l < 5; l++){

        while(m > 0){
            System.out.print(" ");
             m--;
        }
        while(n < (2*l)){
            System.out.print("*");
            n++;
        }
        System.out.println();
        m = 5 - (2*l);
        n = n + 2;
    }  
短跑运动员

错误是您没有在n每个循环中重置变量。在第一个循环已经大于的第一个循环之后,向其添加2,2 * l因此不会打印更多的星星。

将其结构化为:

for (int l = 0; l < 4; l ++) {
    for (int i = 0; i < 5 - 2l; i++) 
        System.out.print(" ");
    for (int i = 0; i < 2 + 2l; i++)
        System.out.print("*");
    System.out.println();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章