Dim k() As Integer = New Integer() {1, 2, 3, 4, 5, 6}
成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、環(huán)縣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為環(huán)縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Dim p1 As Integer
Random r = new Random();
int p1 = k(r.Next(5)) '隨機(jī)出現(xiàn)0~5之間的數(shù)。
方法名稱:next();功能描述:返回一個0~2147483647之間的整數(shù)
方法名稱:next(i);功能描述:返回一個0~i之間的整數(shù)
方法名稱:next(i,j);功能描述:返回一個i~j之間的整數(shù)
方法名稱:Nextdouble();功能描述:返回一個0~1之間的隨機(jī)小數(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
取隨機(jī)數(shù)可以用 Random 類。
給定10個數(shù)的話,可以把這10個數(shù)放在一個數(shù)組里,然后取0~9的范圍內(nèi)的隨機(jī)數(shù),用它當(dāng)數(shù)組下標(biāo)取數(shù)組成員即可。
Rnd[(number)]
number
的值決定了
Rnd
生成隨機(jī)數(shù)的方式
如果
number
的值
Rnd
生成
小于
每次都使用
number
作為隨機(jī)數(shù)種子得到的相同結(jié)果。
大于
序列中的下一個隨機(jī)數(shù)。
等于
最近生成的數(shù)。
省略
序列中的下一個隨機(jī)數(shù)。
====================
先討論沒有加randomize時
X小于0
如
rnd(-1)
以-1為種的隨機(jī)數(shù)永遠(yuǎn)相同
X大于0
如
rnd(1)
系統(tǒng)會先生成隨機(jī)數(shù)列表
有N個隨機(jī)數(shù)
你每執(zhí)行一次rnd(1)就獲取列表中下一個隨機(jī)數(shù)
比如有這么個列表
程序開始時
得到0.7055475
執(zhí)行第二次rnd(1)得到0.533424
第三次0.5795186
你關(guān)閉程序重新打開
第一次得到還是0.7055475
.7055475
.533424
.5795186
.2895625
.301948
而你說的X0
X0沒差別
是錯的
Rnd(1)
Debug.Print
Rnd(-2)
和
Debug.Print
Rnd(-2)
Rnd(1)
結(jié)果是不一樣的
X等于0
最近生成的數(shù)
一般為科學(xué)型數(shù)值
這個值也是不變的
rnd(x)
省略x不寫
就和X0
效果一樣
=========================
Randomize
用
number
將
Rnd
函數(shù)的隨機(jī)數(shù)生成器初始化,該隨機(jī)數(shù)生成器給
number
一個新的種子值。如果省略
number,則用系統(tǒng)計(jì)時器返回的值作為新的種子值。
如果沒有使用
Randomize,則(無參數(shù)的)Rnd
函數(shù)使用第一次調(diào)用
Rnd
函數(shù)的種子值。
注意
若想得到重復(fù)的隨機(jī)數(shù)序列,在使用具有數(shù)值參數(shù)的
Randomize
之前直接調(diào)用具有負(fù)參數(shù)值的
Rnd。使用具有同樣
number
值的
Randomize
是不會得到重復(fù)的隨機(jī)數(shù)序列的。
一般在使用rnd獲取隨機(jī)數(shù)
都是
randomize
int(rnd*(上限-下限+1)+下限)
這2個函數(shù)的X都是省略不寫