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

Java循环中break语句未生效、多执行System.out.print问题求助

问题原因排查
  • 执行顺序逻辑错误:break终止判断放在了num自增、数值累加、打印语句的前面,当num值为495时进入循环,首先判断num == 500不成立,不会触发终止逻辑,后续num自增为500后直接执行打印语句,就会输出多余的500 + 内容。
  • 数值累加逻辑偏差:原有代码会将500也计入总和sum,不符合打印到495就停止的需求。
修复方案

调整判断语句的位置,在num自增完成后立刻做终止校验,触发阈值直接跳出循环,不执行后续的累加和打印操作,修复后的代码如下:

class Main {
    public static void main(String[] args) {
        int num = 0, sum = 0;

        while (sum <= 25250) {
            num = num + 5;
            // 自增后先判断是否到达终止值,达标直接跳出
            if (num == 500)
                break;
            
            sum = sum + num;
            System.out.print( num + " + " );
        }

        System.out.print( " = " + sum);
    }
}

修改后运行,最后一次打印的数值为495,总和也仅累加至495,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 07:45:01