1、打开“Microsoft Visual Basic 6.0 中文版”软件,准备一个空白的工程文件:
成都创新互联是一家专注网站建设、网络营销策划、重庆小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十载以来,已经为近1000家木屋各业的企业公司提供互联网服务。现在,服务的近1000家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
2、然后需要一个命令按钮,单击左侧工具箱中的“命令按钮”,在窗体中右侧拖动鼠标左键画出即可:
3、双击该命令按钮,这里演示输入代码打印0~10之间的任意随即整数,生成其他范围的随机整数公式为“int((上限-下限+1)*Rnd+下限)”,如果是1到53就是“int((1-53+1)*Rnd+53”:
4、写完之后运行程序,每单击一次命令按钮,就会在窗体上打印一个0~10之间的随即整数:
'可以用集合对象来操作,每抽取一个数时,就把该项移除掉。这样就可以保证每个数只抽取一次。
'当然如果你提供的这系列数中本身有重复的数的话,那避免不了有重复的数了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub Command1_Click()
Dim a
a = Array(1, 8, 7, 9, 10, 2, 5, 11, 6, 12, 4, 30, 24, 21, 22, 13, 15, 16, 19, 29, 3, 14, 17, 18, 27, 25, 20, 28, 23, 26)
Dim item
Dim col As New Collection
For Each item In a
col.Add item
Next
'把数组中的数加入集合对象
'--------------------------------
Dim Index As Integer
Dim i As Integer
Dim strLine As String
For i = 1 To col.Count '每循环抽取一数
Index = Int(col.Count * Rnd + 1) '获取随机下标量
strLine = strLine "," col.item(Index) '将下标元素追加到strLine
col.Remove (Index) '移除该下标元素
If i Mod 5 = 0 Then Debug.Print Mid(strLine, 2): strLine = "" 'i被5整除时输出一行, 改变 5 可改变每行的项目数
Next
If strLine "" Then Debug.Print Mid(strLine, 2) '如有残留的不完全行也输出
End Sub
方法名称:next();功能描述:返回一个0~2147483647之间的整数
方法名称:next(i);功能描述:返回一个0~i之间的整数
方法名称:next(i,j);功能描述:返回一个i~j之间的整数
方法名称:Nextdouble();功能描述:返回一个0~1之间的随机小数
================
使用方法:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim rand = New System.Random()
MsgBox(rand.next().ToString())
End Sub
==========================
产生N个不同数的话,我给你个我写的VB的代码,你稍微改下:
产生0-10的数:
Private Sub Command1_Click()
Randomize
Dim a(10) As Long
n = 10
For i = 0 To n
a(i) = Int(Rnd() * (n + 1))
For j = 0 To i - 1
If a(i) = a(j) Then
i = i - 1
Exit For
End If
Next
Next
For i = 0 To n
Print a(i)
Next
End Sub
只要在代码中使用随机函数即可实现随机抽取功能
一、vb随机数生成的方法
vb随机数生成函数是 Rnd[(number)],number 参数为可选项。在调用 Rnd 生成随机数之前,先使用 Randomize 初始化随机数生成器来产生种子,该生成器是根据系统计时器来产生种子的。
1、生成100以内的随机数
Randomize
Int(Rnd() * 100)//生成 0 - 99 之间的随机数
Int(Rnd() * 101)//生成 0 - 100 之间的随机数
2、生成指定范围随机数
由于 vb 没有提供直接生成指定范围随机数的函数,所以要把 Rnd 变通一下,方法如下:
Int((上限 - 下限 + 1) * Rnd + 下限);
把它封装成可直接调用的函数如下:
Function GetRandom(under, over As Integer) As Integer
If under over Then
temp = under;
under = over;
over = temp;
End If
Randomize
GetRandom = Int((under - over + 1) * Rnd + over);
End Function
调用方法:
GetRandom(10, 100);//生成10到100的随机数
二、vb.net生成随机数的方法
1、方法:Random.Next(int minValue, int maxValue);
2、说明:
若 minValue 和 maxValue 都没有提供,则生成一个 0 - 2147483647 之间的随机数;
若 minValue 和 maxValue 只提供一个,则生成一个 0 - maxValue 之间的随机数;
若 minValue 和 maxValue 两个都提供,则生成一个 minValue - maxValue 之间的随机数;
3、举例
Dim ran = New System.Random()
ran.Next()//生成 0 - 2147483647 之间的随机数
ran.Next(100)//生成 0 - 100 之间的随机数
ran.Next(10, 100)//生成 10 - 100 之间的随机数
Dim ran = New Random(DateTime.Now.Millisecond)//通过日期的微秒生成随机数