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

为什么Java函数执行return语句后仍会继续执行后续代码?

问题原因分析
  • 根本原因是beautiful方法的递归调用未返回递归计算结果:
    当if(sum==1)条件命中执行return true时,这个返回值仅会回到上一层递归调用beautiful(sum)的位置,你的代码中没有接收这个返回值,也没有将该结果向上返回,代码会继续执行当前层后续的逻辑,最终走到return false,直接覆盖了递归得到的true结果。
    你调试时观察到的return true执行后仍有代码运行,本质是上一层递归调用收到返回值后,继续执行当前层剩余的return false逻辑,并非return true语句失效。
  • 修复方案:
    将beautiful方法末尾的
beautiful(sum);
return false;

修改为

return beautiful(sum);

即可将递归结果逐层向上返回,符合快乐数判断的逻辑预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:36:11