首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript,函数,数学,数组

javascript,函数,数学,数组
EN

Stack Overflow用户
提问于 2018-04-21 15:17:30
回答 2查看 81关注 0票数 0

我应该为一个基本的Javascript课程做一个带有减法的数学练习。练习必须包含5个提示窗口(例如"10-7=“、"5-1=”等)。第一个数字必须大于第二个数字。

因此,我需要创建一个函数,生成两个随机数,然后在数组中返回它们。在返回之前,它必须确保位置0中的数字大于位置1中的数字,随机数必须介于1-10之间。如果该人正确回答问题,则应弹出一个警报窗口,并说“对!”如果是错的话也是一样。

到目前为止,我的代码是这样的,而且我知道它并不完全正确。怎么了?我怎么才能改正呢?

代码语言:javascript
运行
复制
function number ()
{
    var array = [a, b];
    var numbers = Math.floor(Math.random()*10)+1;

    array[0] = a ;
    array[1] = b ;
    if (a <= b)
    a = a+b;
    b = a-b;
    a = a-b;

    return a + b;
}

var mathQuestion = a + " - " + b +" = ";
var answer = a - b;

for(var i =0; i<6; i++) {
    var yourAnswer = parseInt(prompt(mathQuestion));

    if (yourAnswer === answer) {
        alert("Right!");
    }
    else {
        alert("Wrong!");
    }
}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-21 15:30:53

我不太确定您想要实现什么,但我考虑查看一下您的代码,以对其进行改进。

这段代码运行良好,所以请看一下:)

代码语言:javascript
运行
复制
function getTask() {
  var array = [];
  var numberA = getRandomNumber()
  var numberB = getRandomNumber()

  if (numberA > numberB) {
    array[0] = numberA;
    array[1] = numberB;
  } else {
    array[0] = numberB;
    array[1] = numberA;
  }
  return array;
}

function getRandomNumber() {
  return Math.floor(Math.random() * 10) + 1;
}


let questionCount = 1;

for (var i = 0; i < questionCount; i++) {
  let numbers = getTask()
  var mathQuestion = numbers[0] + " - " + numbers[1] + " = ";
  var answear = numbers[0] - numbers[1];

  var yourAnswear = parseInt(prompt(mathQuestion));
  if (yourAnswear === answear)
    alert("Right!");
  else
    alert("Wrong!");
}

Note:问题是您错过了a and b的声明。将关键字var放在值之前。

票数 0
EN

Stack Overflow用户

发布于 2018-04-21 16:18:11

您可以用三元算子加入排序数组方法和箭头函数给您的老师留下深刻印象。

Codepen演示

代码语言:javascript
运行
复制
const getRandom = () => Math.floor(Math.random() * 10) + 1
const ask = () => {
    const numbers = [getRandom(), getRandom()].sort((a, b) => b - a)
    alert(
        prompt(numbers.join(' - ') + ' = ') == numbers[0] - numbers[1] ?
            'Right!' : 'Wrong!'
    )
}


for (var i = 0; i < 6; i++) {
    ask();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49957223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档