VB.net 如何产生不重复的随机整数
VB.net中用Randomize产生不同的随机数有没有源码,提供一下参考Randomize()Fori=1TonnumDl(i)=Int(48*Rnd()+1)Cons...
VB.net中用Randomize 产生不同的随机数有没有源码,提供一下参考
Randomize()
For i = 1 To n
numDl(i) = Int(48 * Rnd() + 1)
Console.Write("{0} ", numDl(i))
Next i
这样做是会出现重复的n<48+1
Randomize()和Randomize(Timer) 这个换不换没差别
Randomize() 是产生随机因子,并不是说没有重复的 展开
Randomize()
For i = 1 To n
numDl(i) = Int(48 * Rnd() + 1)
Console.Write("{0} ", numDl(i))
Next i
这样做是会出现重复的n<48+1
Randomize()和Randomize(Timer) 这个换不换没差别
Randomize() 是产生随机因子,并不是说没有重复的 展开
4个回答
展开全部
这个问题我刚解决了,我用了一种最笨的办法,就是把数的范围存入一个list中,在窗体上建了两个list,几个label,还有一个timer,两个Command
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
'List1.RemoveItem Label1.Caption
'List2.AddItem Label1.Caption
For j = 0 To List1.ListCount - 1
If List1.List(j) = Label1.Caption Then
List2.AddItem Label1.Caption, 0
List1.RemoveItem j
Exit Sub
End If
Next j
End Sub
Private Sub Form_Load()
For i = 0 To 38
List1.List(i) = Format(i + 1, "00")
Next i
End Sub
Private Sub Timer1_Timer()
Label1.Caption = List1.List(Rnd * (List1.ListCount - 1))
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
'List1.RemoveItem Label1.Caption
'List2.AddItem Label1.Caption
For j = 0 To List1.ListCount - 1
If List1.List(j) = Label1.Caption Then
List2.AddItem Label1.Caption, 0
List1.RemoveItem j
Exit Sub
End If
Next j
End Sub
Private Sub Form_Load()
For i = 0 To 38
List1.List(i) = Format(i + 1, "00")
Next i
End Sub
Private Sub Timer1_Timer()
Label1.Caption = List1.List(Rnd * (List1.ListCount - 1))
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'我在VB6.0中一般是这样处理的
St!=Timer
for i=0 to St!
Rnd
next i
St!=Timer
for i=0 to St!
Rnd
next i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Randomize()
For i = 1 To n
ret=0
numDl(i) = Int(48 * Rnd() + 1)
for a=1 to i
if numDl(i)=numDl(a) then
ret=1
exit for
else
ret=0
end if
next
loop while ret=1
Console.Write("{0} ", numDl(i))
Next i
For i = 1 To n
ret=0
numDl(i) = Int(48 * Rnd() + 1)
for a=1 to i
if numDl(i)=numDl(a) then
ret=1
exit for
else
ret=0
end if
next
loop while ret=1
Console.Write("{0} ", numDl(i))
Next i
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Randomize(Timer)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询