javascript - 如何在 Javascript 中创建数学上正确且可接受的分区
问题描述
对于 exp,代码不会创建在数学上总是正确的除法。它会创建诸如 2/0 等的除法,并且它也不接受诸如“0.33”或“0.33333”之类的“1/3”四舍五入答案。我需要在代码中更改什么?感谢您的帮助和时间。
document.getElementById("button1").addEventListener("click", question);
var mulDiv = document.getElementById("mulDiv");
function question()
{
var startButton = document.getElementById("button1");
var number1 = document.getElementById("number1");
var number2 = document.getElementById("number2");
var decider = Math.random();
button1.textContent = "New Question";
number1.textContent = Math.floor(Math.random()*5);
number2.textContent = Math.floor(Math.random()*5);
mulDiv.textContent = "/"
};
document.getElementById("button2").addEventListener("click", answer);
function answer()
{
var num1 = parseInt(document.getElementById("number1").textContent, 10);
var num2 = parseInt(document.getElementById("number2").textContent, 10);
var answer = parseInt(document.getElementById("userAnswer").value, 10);
var feedBack = document.getElementById("feedBack");
if (mulDiv.textContent == "/"){
if(answer == num1 / num2) {
feedBack.textContent = "right";
} else {
feedBack.textContent = "wrong";
}
}
};
<button id = "button1">
Start
</button>
<p>
<label id = "number1"> </label>
<label id = "mulDiv"> </label>
<label id = "number2"> </label>
= <input id = "userAnswer" type=text>
<button id = "button2">Answer</button>
</p>
<p id = "feedBack"> </p>
解决方案
这行代码:
number2.textContent = Math.floor(Math.random()*5);
生成从 0 到 4 的随机数,因为Math.random()
返回一个从 0 到 1 的数字(不包括 1)。你应该做:
number2.textContent = 1 + Math.floor(Math.random()*4);
这样,最小值为 1,最大值为 5。
推荐阅读
- svn - TortoiseSVN - “被锁定在另一个工作副本”错误
- swift - 允许 Alamofire 同步链接相关请求的模式
- javascript - 来自服务器 json 对象的数据表
- html - HTML:如何删除两个按钮之间的 <
- docker - osx docker 运行 elasticsearch 进行开发
- javascript - Coffeescript 相当于 On Document Ready
- c# - 在 C# 中使用 Html Agility Pack 获取 InnerText 忽略脚本节点
- sql - 同时进行枢轴和交叉连接
- java - 如何在@RequestBody 中传递 2 个对象?
- java - schtasks 以管理员权限返回错误 5