weixin_41244451 2024-06-14 22:04 采纳率: 93.9%
浏览 2
已结题

let result_tensDigit=tensDigit(result);//运行到这就不动了,去掉这一行就可以往下运行;


function tensDigit(name) {
    let tensDigit = parseInt((num % 100) / 10);  // 十位数
    return tensDigit;
}

function generateQuestion(numbers) {
      let result = 0;
      ........省略
      for (let i = 0; i < bishu; i++) {//几笔
            let number, operator;
            let validNumber = false;
            let result_onesDigit=onesDigit(result);
            if(result>10)
            {
                let result_tensDigit=tensDigit(result);//运行到这就不动了,去掉这一行就可以往下运行;
                alert(result_tensDigit);
            }
            ........省略
            result += operator === '+' ? number : -number;
            question += (i > 0 ? ' ' : '') + operator + number;
      }
 }

let result_tensDigit=tensDigit(result);//运行到这就不动了,去掉这一行就可以往下运行;

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-14 22:04
    关注

    引自免费微信小程序:皆我百晓生

    从你提供的代码片段来看,问题可能出在tensDigit函数的调用上,具体是函数内部没有正确处理变量num。在tensDigit函数内,num没有被定义或传入,这可能导致了运行时错误。为了解决这个问题,你需要将result作为参数传递给tensDigit函数。

    下面是修改后的代码:

    function tensDigit(num) { // 修改函数参数为 num
        let tensDigit = Math.floor((num % 100) / 10);  // 十位数,使用 Math.floor 确保结果为整数
        return tensDigit;
    }
    
    function generateQuestion(numbers) {
        let result = 0;
        //...省略其他代码...
        for (let i = 0; i < bishu; i++) { //几笔
            let number, operator;
            let validNumber = false;
            let result_onesDigit = onesDigit(result);
            if (result > 10) {
                let result_tensDigit = tensDigit(result); // 正确调用 tensDigit 函数
                alert(result_tensDigit);
            }
            //...省略其他代码...
            result += operator === '+' ? number : -number;
            question += (i > 0 ? ' ' : '') + operator + number;
        }
    }
    

    这里的关键更改有两点:

    1. tensDigit函数中的num改为函数参数,以便从外部接收数值。
    2. generateQuestion函数中,正确地调用了tensDigit(result),将result作为参数传入。

    另外,我还建议使用Math.floor来确保计算出的十位数是一个整数,尽管parseInt通常也能达到相同效果,但使用Math.floor可以更直观地表达我们意图获取整数部分。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月15日
  • 已采纳回答 6月15日
  • 创建了问题 6月14日

悬赏问题

  • ¥15 vue请求不到数据,返回状态200,数据为html
  • ¥15 访问url时不会自动调用其 Servlet的doGet()
  • ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
  • ¥15 MATLAB解决问题
  • ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
  • ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
  • ¥15 一部手机能否同时用不同的app进入不同的直播间?
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享