2016-12-06 144 views
0

我完全不熟悉JavaScript,可以真正使用一些帮助。我必须在JavaScript中创建一个程序,它随机生成1到12之间的两个数字并将它们存储到文本字段中。这两个数字是全局变量,并发送到一个函数,该函数将文本字段字符串显示为“x次y”(x和y是随机生成的数字)。它还应该有一个检查答案按钮,使用window.alert将输入的答案与正确的答案进行比较,并根据他们给出的答案显示一条消息。我没有做太多的工作,所以我对缺乏代码表示歉意,但任何帮助对于课堂任务都非常有帮助。谢谢!JavaScript随机数学乘法生成器

var x, y; 
 

 
    function aNumber(x, y) { 
 
     Math.floor((Math.random() * 12) + 1); 
 
     Math.floor((Math.random() * 12) + 1); 
 
     return x, y; 
 
    } 
 

 

 
    function genQuestion(x, y) { 
 
     document.getElementById('question').value = aNumber(x) + "times" + aNumber(y); 
 
    }
<body> 
 
    <h1>Learning Multiplication</h1> 
 
    <form name="myForm" id="myForm" action="#"> 
 
     <label>What is: </label> 
 
     <input id="question" name="question" type="text" /> 
 
     <br> 
 
     <label>The answer is: </label> 
 
     <input id="answer" name="answer" type="text" /> 
 
     <br> 
 
     <label>Correct answers: </label> 
 
     <input id="total" name="total" type="text" /> 
 
    <br> 
 
<button class = "button" name="button" type="button" value="Check answer" onclick="genQuestion()" /> 
 
    </form> 
 
</body>

+0

提示:你的函数'aNumber的(X,Y)'返回被传递到函数的值相同。 Math.floor((Math.random()* 12)+ 1);'的结果不会被分配给任何变量。另外,我会考虑命名该函数,因为它返回2个值,而不是“aNumber”。 – lxxxvi

回答

1

所有你能生成一个新的按钮,这对于xy产生新的价值观的首位。你的函数名称aFunction是有点没有意义,应该有一个名字是什么功能在做什么,如generateNumbers

该函数为xy生成两个新值。

现在它检查答案并提示一条消息。

var x, y; 
 
    
 
function generateNumbers() { 
 
    function getRandom12() { 
 
     return Math.floor((Math.random() * 12) + 1); 
 
    } 
 
    x = getRandom12(); 
 
    y = getRandom12(); 
 
} 
 

 
function genQuestion() { 
 
    generateNumbers(); 
 
    document.getElementById('question').value = x + " times " + y; 
 
    document.getElementById('answer').value = ''; 
 
    document.getElementById('total').value = ''; 
 
} 
 

 
function checkAnswer() { 
 
    alert(
 
     x * y === +document.getElementById('answer').value ? 
 
     'Great!' : 
 
     'Not Yet!.' 
 
    ); 
 
    document.getElementById('total').value = x * y; 
 
} 
 

 
genQuestion(); // needed for the first time, could be later an event.
<h1>Learning Multiplication</h1> 
 
<form name="myForm" id="myForm" action="#"> 
 
    <label>What is:</label> 
 
    <input id="question" name="question" type="text" /><br> 
 
    <label>The answer is:</label> 
 
    <input id="answer" name="answer" type="text" /><br> 
 
    <label>Correct answers:</label> 
 
    <input id="total" name="total" type="text" /><br> 
 
    <button class="button" name="button" type="button" onclick="genQuestion()" >Generate new Question</button> 
 
    <button class="button" name="button" type="button" onclick="checkAnswer()" >Check answer</button> 
 
</form>

+0

谢谢你的帮助!那么考虑到这些数字是随机生成的,我怎么会让它检查答案是正确还是不正确呢?如果他们不是那么我会假设你可以做出if语句,但这将是很多if语句... – rozak

+0

@rozak,它只是一个if语句。请参阅编辑。 –