1、打開“Microsoft Visual Basic 6.0 中文版”軟件,準備一個空白的工程文件:
成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、重慶小程序開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十載以來,已經(jīng)為近1000家木屋各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的近1000家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
2、然后需要一個命令按鈕,單擊左側(cè)工具箱中的“命令按鈕”,在窗體中右側(cè)拖動鼠標左鍵畫出即可:
3、雙擊該命令按鈕,這里演示輸入代碼打印0~10之間的任意隨即整數(shù),生成其他范圍的隨機整數(shù)公式為“int((上限-下限+1)*Rnd+下限)”,如果是1到53就是“int((1-53+1)*Rnd+53”:
4、寫完之后運行程序,每單擊一次命令按鈕,就會在窗體上打印一個0~10之間的隨即整數(shù):
'可以用集合對象來操作,每抽取一個數(shù)時,就把該項移除掉。這樣就可以保證每個數(shù)只抽取一次。
'當然如果你提供的這系列數(shù)中本身有重復的數(shù)的話,那避免不了有重復的數(shù)了。
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
'把數(shù)組中的數(shù)加入集合對象
'--------------------------------
Dim Index As Integer
Dim i As Integer
Dim strLine As String
For i = 1 To col.Count '每循環(huán)抽取一數(shù)
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 可改變每行的項目數(shù)
Next
If strLine "" Then Debug.Print Mid(strLine, 2) '如有殘留的不完全行也輸出
End Sub
方法名稱:next();功能描述:返回一個0~2147483647之間的整數(shù)
方法名稱:next(i);功能描述:返回一個0~i之間的整數(shù)
方法名稱:next(i,j);功能描述:返回一個i~j之間的整數(shù)
方法名稱:Nextdouble();功能描述:返回一個0~1之間的隨機小數(shù)
================
使用方法:
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
==========================
產(chǎn)生N個不同數(shù)的話,我給你個我寫的VB的代碼,你稍微改下:
產(chǎn)生0-10的數(shù):
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
只要在代碼中使用隨機函數(shù)即可實現(xiàn)隨機抽取功能
一、vb隨機數(shù)生成的方法
vb隨機數(shù)生成函數(shù)是 Rnd[(number)],number 參數(shù)為可選項。在調(diào)用 Rnd 生成隨機數(shù)之前,先使用 Randomize 初始化隨機數(shù)生成器來產(chǎn)生種子,該生成器是根據(jù)系統(tǒng)計時器來產(chǎn)生種子的。
1、生成100以內(nèi)的隨機數(shù)
Randomize
Int(Rnd() * 100)//生成 0 - 99 之間的隨機數(shù)
Int(Rnd() * 101)//生成 0 - 100 之間的隨機數(shù)
2、生成指定范圍隨機數(shù)
由于 vb 沒有提供直接生成指定范圍隨機數(shù)的函數(shù),所以要把 Rnd 變通一下,方法如下:
Int((上限 - 下限 + 1) * Rnd + 下限);
把它封裝成可直接調(diào)用的函數(shù)如下:
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
調(diào)用方法:
GetRandom(10, 100);//生成10到100的隨機數(shù)
二、vb.net生成隨機數(shù)的方法
1、方法:Random.Next(int minValue, int maxValue);
2、說明:
若 minValue 和 maxValue 都沒有提供,則生成一個 0 - 2147483647 之間的隨機數(shù);
若 minValue 和 maxValue 只提供一個,則生成一個 0 - maxValue 之間的隨機數(shù);
若 minValue 和 maxValue 兩個都提供,則生成一個 minValue - maxValue 之間的隨機數(shù);
3、舉例
Dim ran = New System.Random()
ran.Next()//生成 0 - 2147483647 之間的隨機數(shù)
ran.Next(100)//生成 0 - 100 之間的隨機數(shù)
ran.Next(10, 100)//生成 10 - 100 之間的隨機數(shù)
Dim ran = New Random(DateTime.Now.Millisecond)//通過日期的微秒生成隨機數(shù)