You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Java星号图案代码,实现* ** *****的预期输出?

解决星号图案输出问题

嘿,我来帮你搞定这个星号图案的调整!

当前你的代码逻辑是每行打印i个星号(i从1到3),所以第三行只会输出3个星号。要得到* ** *****的效果,我们需要让第三行打印全部5个星号,前两行保持原有规则即可。

只需要修改if判断的条件,把原来的j<=i改成**j<=i || i == 3**就可以了。这个条件的逻辑很清晰:

  • 当行数i是1或2时,只在j小于等于i的位置打印星号(保持前两行1个、2个星的效果)
  • 当行数i是3时,不管j取值是多少,都打印星号(也就是第三行直接输出5个星)

修改后的完整代码如下:

public class Star {
    public static void main(String[] args) {
        int i,j;
        for(i=1;i<=3;i++) {
            for(j=1;j<=5;j++) {
                if(j<=i || i == 3) { // 这里是修改的核心条件
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    }
}

运行这段代码后,输出就会完全符合你的预期:

*    
**   
*****

(注:前两行星号后的空格是为了保持每行5个字符的对齐宽度,如果你不需要空格只需要纯星号,可以调整内层循环的终止条件,但从你的描述来看,对齐的效果应该是你想要的。)

内容的提问来源于stack exchange,提问作者Abhishek Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:54:29