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

Java打印数字与#交替阶梯图案代码输出异常问题求助

问题排查与解决方案

预期输出目标

要打印的图案如下:

1
1#
1#2
1#2#
1#2#3
1#2#3#

现有代码问题分析

  • 问题1:定义的q变量全程为固定值2未做递增,所以第5行第5位(奇数位置)本该输出3,实际输出了2
  • 问题2:输出#时额外带了空格,导致每一行的#后都有多余空格,和预期无空格的格式不符
  • 问题3:奇数位置的数字计算逻辑错误,没有按规律输出递增的整数,反而用了固定判断分支,逻辑完全不符合要求

修复方案

不需要单独定义q变量,奇数位置的数字可以直接通过公式(j + 1) / 2计算得到,同时输出#时去掉多余空格即可。

修复后完整代码

public class Main {
    public static void main(String args[]) {
        // 外层循环控制行数,共6行
        for (int i = 1; i <= 6; i++) {
            // 内层循环控制每一行输出的字符数
            for (int j = 1; j <= i; j++) {
                if (j % 2 != 0) {
                    // 奇数位输出对应数字:j=1→1,j=3→2,j=5→3
                    System.out.print((j + 1) / 2);
                } else {
                    // 偶数位输出#,去掉多余空格
                    System.out.print("#");
                }
            }
            // 每一行输出完换行
            System.out.println();
        }
    }
}

输出验证

运行修复后的代码,得到的结果和预期完全一致:

1
1#
1#2
1#2#
1#2#3
1#2#3#

内容的提问来源于stack exchange,提问作者Onkar Bhise

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:24:03