Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
創(chuàng)新互聯(lián)主營銀海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,銀海h5成都微信小程序搭建,銀海網(wǎng)站營銷推廣歡迎銀海等地區(qū)企業(yè)咨詢
Randomize() '產(chǎn)生隨機數(shù)種子 以防止每次生成結(jié)果都一樣
Dim a(100) As Integer '聲明數(shù)組存放數(shù)據(jù) 用來保存隨機數(shù)結(jié)果
Dim max As Integer, min As Integer '聲明兩個變量存最大值和最小值
min = 1000 : max = 0 '設(shè)置初值
For i = 0 To 99 '循環(huán)100次
a(i) = Int(Rnd() * 1000 + 1) '用rnd生成一個隨機數(shù) 由于rnd范圍為0-1之間的小數(shù).所以*1000設(shè)置他的范圍為0到999之間 加1變成1到1000之間
If a(i) = max Then max = a(i) '如果當(dāng)前數(shù)值大于最大值的變量就保存
If a(i) = min Then min = a(i) '如果當(dāng)前數(shù)值小于最小值的變量就保存
Next
MsgBox("最大值為" max)
MsgBox("最小值為" min)
End Sub
'項目:VB中產(chǎn)生在一定正整數(shù)范圍內(nèi)的不重復(fù)的隨機數(shù)'作者:qq15495835Private Sub Command1_Click() Max = 100 '隨機數(shù)上限值 Min = 1 '隨機數(shù)下限值 Amount = 10 '產(chǎn)生號碼數(shù)量(數(shù)量值應(yīng)小于隨機數(shù)上限值-隨機數(shù)下限值)否則會產(chǎn)生死循環(huán) 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'請采納參考!謝謝!
返回大于等于0小于1之間的隨機數(shù)。
Visual Basic中隨機函數(shù)
格式:Rnd(數(shù)值表達式)
功能:求[0,1)之間的一個隨機數(shù)
語法:
Rnd[(number)]
如果 number 的值是 Randomize 生成
小于 0 ,每次都使用 number 作為隨機數(shù)種子得到的相同結(jié)果。
大于 0 ,以上一個隨機數(shù)為種子產(chǎn)生下一個隨機數(shù)。
等于 0 ,產(chǎn)生與最近生成的隨機數(shù)相同的隨機數(shù)。
省略, 以上一個隨機數(shù)為種子產(chǎn)生下一個隨機數(shù)。
說明
Rnd 函數(shù)返回小于 1 但大于或等于 0 的值。
number 的值決定了 Rnd 生成隨機數(shù)的方式。
對最初給定的種子都會生成相同的數(shù)列,因為每一次調(diào)用 Rnd 函數(shù)都用數(shù)列中的前一個數(shù)作為下一個數(shù)的種子。
在調(diào)用 Rnd 之前,先使用無參數(shù)的 Randomize語句初始化隨機數(shù)生成器(若帶參數(shù),則產(chǎn)生由參數(shù)對應(yīng)的一個特定序列的隨機數(shù)),該生成器具有根據(jù)系統(tǒng)計時器得到的種子。
為了生成某個范圍內(nèi)的隨機整數(shù),可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這里,upperbound 是隨機數(shù)范圍的上限,而 lowerbound 則是隨機數(shù)范圍的下限。
注意 若想得到重復(fù)的隨機數(shù)序列,在使用具有數(shù)值參數(shù)的 Randomize 之前直接調(diào)用具有負(fù)參數(shù)值的 Rnd。使用具有同樣 number 值的 Randomize 是不會得到重復(fù)的隨機數(shù)序列的。
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim N As Integer = 9
Randomize()
Dim xx(9) As Integer
For i As Integer = 0 To N
xx(i) = Int(Rnd() * 1000) '產(chǎn)生 [0,1000) 之間的整數(shù)
Next
For i As Integer = 0 To N - 1
For j As Integer = i + 1 To N
If xx(i) xx(j) Then
Dim temp As Integer = 0
temp = xx(i) : xx(i) = xx(j) : xx(j) = temp
End If
Next
Next
Dim sum As Integer = 0
For i As Integer = 0 To N
TextBox1.Text += xx(i) vbCrLf
sum += xx(i)
Next
TextBox1.Text += "最大值:" xx(9) vbCrLf "最小值:" xx(0) vbCrLf "平均值:" sum / 10
End Sub
End Class
方法名稱: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
新聞名稱:vb.net隨機整數(shù) vb生成指定范圍的隨機整數(shù)
標(biāo)題網(wǎng)址:http://www.rwnh.cn/article24/doocsce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、用戶體驗、軟件開發(fā)、云服務(wù)器、小程序開發(fā)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)