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

Java实现1-100数字每20个换行(for循环):修复无限循环

修复输出1-100数字每20个换行的无限循环问题

你的代码陷入无限循环的核心原因是内层for循环里手动重置了计数器变量:当counter == 20时,你把counter设回1,导致内层循环的终止条件counter <= 20永远无法触发——counter会在1到20之间无限循环,外层的x根本没机会继续递增,整个程序卡死。

修复方案1:用单个计数器跟踪输出数量

去掉多余的内层循环,只用一个外层循环遍历1到100,用计数器记录当前已输出的数字个数,每满20个就换行并重置计数器:

public class zahlen1_bis_100 {
    public static void main(String[] args) {
        int counter = 0;
        for (int x = 1; x <= 100; x++) {
            System.out.print(x + " ");
            counter++;
            // 每输出20个数字换行并重置计数器
            if (counter == 20) {
                System.out.println();
                counter = 0;
            }
        }
    }
}

修复方案2:用取模运算简化逻辑

不需要额外的计数器,直接通过判断当前数字是否是20的倍数来换行,代码更简洁:

public class zahlen1_bis_100 {
    public static void main(String[] args) {
        for (int x = 1; x <= 100; x++) {
            System.out.print(x + " ");
            // 当数字是20的倍数时换行
            if (x % 20 == 0) {
                System.out.println();
            }
        }
    }
}

两种方案都能实现需求,方案2更简洁,方案1的计数器方式在需要自定义分组数量时更直观灵活。

内容的提问来源于stack exchange,提问作者Jacob J.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:10:57