我正在尝试生成0到8之间的40个随机数
这是我的代码 -
<body>
<h1>This is a page for randomize number between 0 - 8 </h1> <br />
<button onclick="randomize()">Random number</button>
<p id="Output"></p>
<script>
function randomize() {
var arr = []
while(arr.length < 40){
var randomnumber=Math.floor((Math.random() * 8) + 1)
arr.push(randomnumber)
}
document.getElementById("Output").innerHTML = arr;
}
</script>
</body>
我期待40个随机数输出像 -
4 4 5 7 8 1 5 7
我做错了可以请某人纠正我,我也希望下一行输出结果!
有人可以帮忙!
答案 0 :(得分:2)
a)如果您乘以8
,则会得到从0
到7
的数字。
b).innerHTML = arr.join('<br>')
应该为您提供所需的输出。
答案 1 :(得分:2)
您的代码已经有效,只有广告换行符:
<body>
<h1>This is a page for randomize number between 0 - 8 </h1> <br />
<button onclick="randomize()">Random number</button>
<p id="Output"></p>
<script>
function randomize() {
var arr = []
while(arr.length < 40){
var randomnumber=Math.floor((Math.random() * 9)) // 0-8 is 9 numbers
arr.push(randomnumber)
}
document.getElementById("Output").innerHTML = arr.join('<br>'); // Add line break between numbers
}
</script>
</body>
&#13;
编辑:将随机乘数从8改为9
答案 2 :(得分:1)
我认为您需要查看随机计算并使用.join()将数字分成不同的行。
1)随机公式应为Math.floor(Math.random()*(1+High-Low))+Low;
。由于您将Math.random()
乘以8,因此最多只能得到7。但是,您在随机后添加+1
,您仍然会获得8个最大数字,但最小值变为1.您现在正在创建 1到8 。
2)如果您需要在新行中回显每个数字,则需要使用<br/>
加入数组。例如。 document.getElementIdBy('Output').innerHtml = arr.join('<br/>')
。