【发布时间】:2021-08-30 18:47:55
【问题描述】:
我只是在学习 Javascript 的基础知识,但对 Java 了解很多,我知道我做错了,只是在寻找正确的方法来做这件事。 我正在尝试在文本字段中输入一个数字,并生成与文本字段编号指定的 1-2 之间的随机数。然后将这些数字(一串 1 和 2)存储在一个数组中,然后使用 for 循环在数组中循环计算有多少正面或反面,并打印出来。
预期输出://输入的数字是10。
正面数 = 7,反面数 = 3
<!DOCTYPE html>
<html>
<head>
<title>Coin Tosser</title>
</head>
<body>
<h1>COINTOSSER</h1>
<div id = "NumOfTosses">
<input type = "text" id ="num">
</div>
<button id = "click" type="button">Start Tossing</button>
<script>
var numT = document.getElementById('num').value
document.getElementById('click').onclick = toss;
function toss(){
var tossArray = [];
for(var i = 0;i<numT;i++){
var rng = Math.floor(Math.random() * 2);
tossArray.push(rng);
}
var heads = 0;
var tails = 0;
for(var j = 0;j<tossArray.length;j++){
if(tossArray[j] == 0){
heads++;
}else{
tails++;
}
}
alert("Number of heads = " + heads + " and number of tails = " + tails);
}
</script>
</body>
</html>
【问题讨论】:
-
您只需将
var numT = document.getElementById('num').value移动到toss()函数中。 (每次调用 toss() 时都需要访问输入值) -
@pilchard 太棒了,谢谢!
标签: javascript html arrays function button