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

Java简单循环未按预期运行,输出为空问题排查

问题分析与解决

你的代码问题出在内层循环的条件设置错误:

内层循环中ch从65(对应字符'A')开始,而循环条件是ch <= line。当line=1时,65远大于1,条件不成立,内层循环根本不会执行;后续line=2、3、4时,65依然远大于这些数值,所以每一行都没有字符输出,只有四次换行,最终看起来输出为空。

要实现你预期的输出,需要让每一行输出对应数量的连续字符,且字符依次递增。可以通过以下两种方式修正:

方式一:用变量跟踪当前字符

int currentChar = 65; // 从'A'开始
for (int line = 1; line <= 4; line++) {
    // 每一行输出line个字符
    for (int i = 0; i < line; i++) {
        System.out.print((char) currentChar);
        currentChar++; // 输出后切换到下一个字符
    }
    System.out.println();
}

方式二:计算每行的起始字符

通过数学公式计算每一行的起始字符位置:前line-1行总共输出了1+2+...+(line-1) = line*(line-1)/2个字符,所以当前行的起始字符是65 + line*(line-1)/2:

for (int line = 1; line <= 4; line++) {
    int startChar = 65 + line * (line - 1) / 2;
    // 输出line个连续字符
    for (int i = 0; i < line; i++) {
        System.out.print((char) (startChar + i));
    }
    System.out.println();
}

两种方式运行后都会得到你预期的输出:

A
BC
DEF
GHIJ

内容的提问来源于stack exchange,提问作者Akshat Mishra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:15:05