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

Java使用do-while循环计数1-10,如何让前5、后5个数各占一行?

错误原因
  • 你的代码中if (x > 5)的判断逻辑会在x等于6到10的每一次循环中都触发,每次触发都会执行一次换行操作,所以从第6个数字开始,每打印一个数字就会换一次行,不符合你只换1次行的需求。
  • 额外说明:你当前实现的计数功能不需要导入Scanner和DecimalFormat类,也不需要实例化对应的key、df对象,删除这部分冗余代码不影响运行。
修正方法

只需要将判断条件从x > 5改为x == 6即可,因为x是在打印完当前值后才自增,打印完第5个数字时x刚好自增为6,这时候执行一次换行就足够,后续循环不会再触发换行逻辑,原代码中多余的continue也可以直接删除。

修正后的完整代码如下:

public class Hello_World {
    public static void main(String[] args) {
        int x = 1;
        do {
            System.out.print(x + " ");
            x++;
            // 仅在打印完前5个数字后换1次行
            if (x == 6) {
                System.out.println("");
            }
        } while (x <= 10);
    }
}

运行后输出结果为:

1 2 3 4 5 
6 7 8 9 10 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:06:03