Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有宁县免费网站建设让你可以放心的选择与我们合作。
Randomize() '产生随机数种子 以防止每次生成结果都一样
Dim a(100) As Integer '声明数组存放数据 用来保存随机数结果
Dim max As Integer, min As Integer '声明两个变量存最大值和最小值
min = 1000 : max = 0 '设置初值
For i = 0 To 99 '循环100次
a(i) = Int(Rnd() * 1000 + 1) '用rnd生成一个随机数 由于rnd范围为0-1之间的小数.所以*1000设置他的范围为0到999之间 加1变成1到1000之间
If a(i) = max Then max = a(i) '如果当前数值大于最大值的变量就保存
If a(i) = min Then min = a(i) '如果当前数值小于最小值的变量就保存
Next
MsgBox("最大值为" max)
MsgBox("最小值为" min)
End Sub
Private Sub Command1_Click()
Dim num(6) As Integer
Dim i As Integer, j As Integer
Dim tmp As Integer
Randomize '防止每次生出随机数一样
For i = 0 To 5
num(i) = Int(Rnd * 53) + 1
Next
PrintNum "新生成的6个随机数为:", num()
For i = 0 To 5
For j = 0 To 5
If num(j) num(j + 1) Then
tmp = num(j)
num(j) = num(j + 1)
num(j + 1) = tmp
End If
Next
Next
PrintNum "排序后的6个随机数为:", num()
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)//通过日期的微秒生成随机数
可以用Rnd函数实现
Rnd 函数返回小于 1 但大于或等于 0 的值。
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
你这里可以先把范围扩大10倍,看成21到34之间的随机数,最后再除以10就行了。
Int((34 - 21 + 1) * Rnd + 21) / 10
'项目:VB中产生在一定正整数范围内的不重复的随机数'作者:qq15495835Private Sub Command1_Click() Max = 100 '随机数上限值 Min = 1 '随机数下限值 Amount = 10 '产生号码数量(数量值应小于随机数上限值-随机数下限值)否则会产生死循环 ReDim a(Amount) Randomize For i = 0 To Amount a(i) = Int((Max - Min + 1) * Rnd + Min) For j = 0 To i If i j And a(i) = a(j) Then i = i - 1 Next Next Text1 = Join(a, vbCrLf)End Sub'请采纳参考!谢谢!