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

统计用户输入数字中7出现次数的代码问题求助

问题原因

  • 判断逻辑错误:你将每次取余得到的个位数字存入了数组b,但判断条件写的是b == 7,拿整个数组和数字7做比较。只有当数组里仅有一个7的时候[7] == 7才会成立,出现多个7时数组转成的字符串是7,7这类格式,和7比较永远为假,所以最多只能统计到1次。
  • 输出位置错误:console.log放在了while循环内部,会每次循环都输出一次中间值,应该等所有位遍历完成后再输出最终统计结果。
  • 注意初始化统计变量n为0,否则会出现NaN的异常结果。

修改后的代码

如果你不需要留存每一位的数字,可以直接比对当前取出的个位:

// 请自行赋值待统计的数字给a
let a = 待统计数字;
let n = 0;
while (a) {
    const currentNum = a % 10;
    if (currentNum === 7) {
        n++;
    }
    a = Math.floor(a / 10);
}
console.log("<br><br>number of 7's:" + n);

如果你确实需要用数组b存储每一位数字,修改版如下:

let a = 待统计数字;
let n = 0;
const b = [];
while (a) {
    const currentNum = a % 10;
    b.push(currentNum);
    a = Math.floor(a / 10);
    if (currentNum === 7) {
        n++;
    }
}
console.log("<br><br>number of 7's:" + n);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:06:04