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

Kotlin实现Fizz-Buzz逻辑异常,请求排查代码问题

Fizz-Buzz代码问题分析与修正

你的代码核心问题是第一个条件的逻辑运算符错误,导致分支判断完全混乱:

  • 原代码第一个if用了||(逻辑或),意思是只要是3的倍数或者5的倍数就输出FizzBuzz,这会直接覆盖后面的Buzz和Fizz分支——比如数字3、5都会错误输出FizzBuzz,而不是各自的Fizz、Buzz。
  • 正确逻辑应该是同时是3和5的倍数才输出FizzBuzz,所以要把||改成&&(逻辑与)。

另外要注意条件判断的顺序:必须先判断同时满足两个条件的情况,再分别判断单个条件,否则会被优先级高的分支提前拦截。

修正后的代码如下:

for (i in 1..100) {
    if (i % 5 == 0 && i % 3 == 0) {
        println("FizzBuzz")
    } else if (i % 5 == 0) {
        println("Buzz")
    } else if (i % 3 == 0) {
        println("Fizz")
    } else {
        println(i)
    }
}

运行这段代码就能得到符合要求的结果:

  • 3的倍数输出Fizz
  • 5的倍数输出Buzz
  • 同时是3和5的倍数输出FizzBuzz
  • 其他数字输出本身

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:35:45