标题:[求助]关于随机数的问题
取消只看楼主
tan_owen
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-4-15
 问题点数:0 回复次数:6 
[求助]关于随机数的问题
我在做随机数的时候想要抽取多个数字比如13个,但做出来后只能抽取一个,代码如下:
Dim a As New Random '定义一个随机数类
Dim tmp As Int32
Dim h As New Hashtable
While h.Count < 14
tmp = a.Next(1, 54)
If Not h.Contains(tmp) Then
h.Add(tmp, tmp)
Label1.Text = tmp
End If
End While
这个代码该怎么改才对
搜索更多相关主题的帖子: 随机数 tmp Dim New While 
2007-04-18 22:39
tan_owen
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-4-15
得分:0 
我把代码改成Label1.Text=Label1.Text + "  " + tmp后出现异常(从字符串“  ”到类型“Double”的转换无效。)

2007-04-19 12:54
tan_owen
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-4-15
得分:0 

应该改为Label1.Text=Label1.Text & " " & tmp


2007-04-19 13:00
tan_owen
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-4-15
得分:0 

在抽取了13个数字后,再抽取13个数字,那么tmp = a.Next(1, 54)应改为什么


2007-04-19 14:38
tan_owen
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-4-15
得分:0 
再抽取的时候,不要相同的数,也不能和上次抽取的有相同的数

2007-04-19 15:44
tan_owen
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-4-15
得分:0 
我重写了一个代码:
Dim a(52), b(4, 13) As Integer
Dim i, j, t As Integer
For i = 1 To 52
a(i) = i
Next
Randomize(Timer)
For i = 1 To 4
For j = 1 To 13
t = Int(52 * Rnd()) + 1
Do While a(t) = 0
t = Int(52 * Rnd()) + 1
Loop
Do While a(t) = 0
t = Int(52 * Rnd()) + 1
Loop
b(i, j) = a(t) : a(t) = 0
Next j
Next i
For i = 1 To 4
For j = 1 To 13
Response.Write(b(i, j) & " ")
Next j
Next i
可以随机出现52个数字,可我想让它出现4行,每行13个数字,不知道是哪错了该怎么改

[此贴子已经被作者于2007-4-19 22:30:04编辑过]


2007-04-19 22:13
tan_owen
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-4-15
得分:0 
解决了,谢谢

2007-04-20 17:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-133005-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045503 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved