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

如何用Java打印1-50的偶数,且每10个偶数换一行?

解决1-50偶数打印且每10个换行的问题

先看你写的代码存在几个问题:

  • 代码未闭合:for循环和if语句都缺少结束的大括号},编译会直接报错
  • 逻辑绕弯:用counter计数每两个数取一个的方式,不如直接判断偶数直观;而且当前代码里用println会输出一个偶数就换行,不符合每10个换行的需求
  • 未实现每10个偶数换行的核心逻辑

下面是实现需求的正确代码:

int n = 50;
int evenCounter = 0; // 专门计数已输出的偶数数量
System.out.println("Even Numbers from 1 to " + n + " are: ");

for (int i = 1; i <= n; i++) {
    // 直接判断当前数是否为偶数
    if (i % 2 == 0) {
        System.out.print(i + " ");
        evenCounter++;
        // 每输出10个偶数就换行
        if (evenCounter % 10 == 0) {
            System.out.println();
        }
    }
}

代码逻辑说明:

  • 用i % 2 == 0判断偶数,比计数跳步的方式更清晰易懂,也不容易出错
  • 用evenCounter统计已输出的偶数个数,每次输出偶数后递增计数
  • 当evenCounter % 10 == 0时,说明已输出10个偶数,执行换行操作
  • 用System.out.print输出偶数(不自动换行),仅在满足条件时手动换行,保证格式符合要求

你提到的%10==0思路是对的,但要注意是统计偶数的数量后取模,而非对偶数本身取模——虽然偶数本身是2的倍数,每10个偶数的最后一个(20、40等)对10取模也为0,但统计数量的方式更通用,比如需求改成每8个换行时,直接改数字即可适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:45:47