随机数发生器在1-20的范围内给出0

时间:2017-02-15 17:44:52

标签: javascript

之前我曾问过一个数字发生器,有一段时间我认为它运行正常。我今天来找你,因为后者不是这样。出于某种原因,我的数字生成器代码在范围应该是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进入我的控制台窗口。问题是我获得随机数的唯一地方。

1 个答案:

答案 0 :(得分:0)

尝试

Math.floor(Math.random()*(max-min+1)+min);