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

如何借助isOdd方法实现打印1-100间奇数的Java方法?

问题分析与解决

先说说你那两个方案的问题:

  • 方案1:while循环的条件把number < 100和isOdd(number)用&&连在一起了,这会导致当number变成2(偶数)时,isOdd返回false,循环直接终止,所以只能打印出1,后面的奇数都没法处理。
  • 方案2:for循环里只是调用了isOdd(i)但没做任何判断逻辑,循环结束后只打印了最终的i值(也就是100),完全没实现筛选奇数并打印的需求。

正确实现方式

方式一:使用for循环

遍历1到100的每个数,对每个数调用isOdd方法判断,是奇数就打印:

static void func1() {
    for (int i = 1; i <= 100; i++) {
        if (isOdd(i)) { // 调用isOdd判断当前数是否为奇数
            System.out.println(i);
        }
    }
}

方式二:使用while循环

同样遍历每个数,在循环体内判断是否为奇数:

static void func1() {
    int number = 1;
    while (number <= 100) { // 先保证遍历完1到100的所有数
        if (isOdd(number)) { // 调用isOdd做判断
            System.out.println(number);
        }
        number++; // 每次循环让数字加1,避免死循环
    }
}

补充说明

你提供的isOdd方法是完全可用的,能正确判断奇数。核心逻辑就是在循环内部,对每个遍历到的数调用这个方法,用if语句判断结果,再决定是否打印。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:20:49