之前我曾问过一个数字发生器,有一段时间我认为它运行正常。我今天来找你,因为后者不是这样。出于某种原因,我的数字生成器代码在范围应该是1-20时给我一个0。我使用的是javascript和html。
javascript代码:
Math.floor(Math.random() * (max - min) + min);
它在某个时候运作良好,但现在因为除以0错误而破坏了我的代码。任何帮助,将不胜感激。
修改:更多代码段
function questionGen()
{
min = document.getElementById("low").value;
max = document.getElementById("high").value;
rand1 = Math.floor(Math.random() * (max - min) + min);
rand2 = Math.floor(Math.random() * (max - min) + min);
//Chooses which Math Symbol to use
switch (Math.floor(Math.random() * 4) + 1)
{
case 1:
if (document.getElementById("addcheck").checked == true)
{
answer = add(rand1, rand2);
break;
} //end if
case 2:
if (document.getElementById("subcheck").checked == true)
{
answer = sub(rand1, rand2);
break;
} //end if
case 3:
if (document.getElementById("mulcheck").checked == true)
{
answer = multiply(rand1, rand2);
break;
} //end if
case 4:
if (document.getElementById("divcheck").checked == true)
{ //Division Checked
answer = division(rand1, rand2);
break;
} //end if
} //end switch
} //end questionGen
在此方法之外创建变量
var min;
var max;
由于其他因素,我的分工方法有点难以理解。我仍然在我的add,sub和multiply方法中得到零。
添加方法
function add()
{
document.getElementById("question").innerHTML = arguments[0] + " + " + arguments[1];
answer = arguments[0] + arguments[1];
document.getElementById("desc24").innerHTML = arguments[0] + " plus " + arguments[1];
return answer;
} //end add
我知道除以0是100%的问题。我有一个console.log()在分区之前输出我的第二个随机变量,在它崩溃之前它会弹出0进入我的控制台窗口。问题是我获得随机数的唯一地方。
答案 0 :(得分:0)
尝试
Math.floor(Math.random()*(max-min+1)+min);