每个循环我需要两个随机数,但不能使用前一个循环的随机数。我迷路了,我已经搜索过,不知道该怎么做。请帮忙!我把我的代码放在下面。所以,具体来说,我需要生成存储在n1和n1中的两个随机数。 N2。然后,在下一个循环中,不使用那些先前的数字。但是,可以在连续两次使用它们之后使用它们。
document.getElementById('BtnTimerOnOff').textContent = "Stop timer"
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
var milisec=0
var seconds=0
document.d.d2.value='0'
var onoff=0;
function display(){
if (milisec>=9){
milisec=0;
seconds+=1
}
else
milisec+=1
document.d.d2.value=seconds+"."+milisec
setTimeout("display()",100)
}
function TimerOnOff(){
var a = document.getElementById('BtnTimerOnOff').textContent
//var b;
alert(document.getElementById('BtnTimerOnOff').textContent)
if (document.getElementById('BtnTimerOnOff').textContent = "Start timer") {
document.getElementById('BtnTimerOnOff').textContent = "Stop timer"
a = document.getElementById('BtnTimerOnOff').textContent
alert(document.getElementById('BtnTimerOnOff').textContent)
alert('aaa')
display()
}
else if (document.getElementById('BtnTimerOnOff').textContent = "Stop timer"){
a = document.getElementById('BtnTimerOnOff').textContent
alert("Stop the timer")
}
}
</script>
</head>
<body>
<table border="0">
<tr>
<button type= "button" id="BtnTimerOnOff" onclick="TimerOnOff()">Start timer</button></tr>
<td align="center" ><font face="JuraLight" size="6"><strong>Online Time:</strong></font></td>
<td id="timer" align="center"><form name="d">
<p><input type="text" size="8" name="d2"></p>
</form>
</td>
<td align="center"><font face="Arial" size="6"><strong>seconds!</strong></font></td>
</tr>
</table>
</body>
</html>
答案 0 :(得分:1)
执行随机选择而不重复的简单方法是以随机顺序保留数字列表,每个数字的一个条目在您的范围内。然后你只需取一个列表前面的那个,使用它,然后将它移到以后的位置。
在你的情况下,你会将它移动到至少一个远离前面的位置(移除它之后),这样前面的下一个数字将与旧前面的数字不同。
示例:
初始清单:
6,5,10,1,0,11,8,12,4,2,3,7,9
取第一个号码并从列表中删除。
列表现在是:
5,10,1,0,11,8,12,4,2,3,7,9
将数字插入非前方的随机位置。
列表现在是:
5,10,1,6,0,11,8,12,4,2,3,7,9
答案 1 :(得分:0)
您可以在randomize();
之前使用rand()%13
,然后程序会在每次随机数字生成时生成,并且不会重复...