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

求助:如何用取余运算符结合if函数实现正确的控制台输出逻辑

修正年龄判断中剩余等待年份的计算逻辑

你的问题出在剩余等待年份的计算逻辑上:用取余运算nint % 18完全不符合需求——取余得到的是年龄除以18后的余数,而我们需要的是距离18岁还差的年数,应该用18 - nint来计算。

另外你的else块里有一行无效代码nint < 18 && nint % 18,这行代码不会产生任何实际作用,可以直接删掉。

修正后的完整代码如下:

var n = prompt('enter number');
let nint = parseInt(n);
// 计算距离18岁还差的年数
let remainder = 18 - nint;
if (nint >= 18){
      console.log('you can drive');
} else {
    console.log(`you have to wait for ${remainder} year${remainder !== 1 ? 's' : ''} to be 18 years old`);
}

补充说明:

  • 把判断条件改成nint >=18,覆盖刚好18岁的情况(符合实际逻辑)
  • 给输出字符串加了复数处理:如果剩余1年就显示year,大于1年显示years,让输出更严谨

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:25:26