獲取隨機索引可以使用Random類中的什麼方法

2022-04-01 14:15:49 字數 2593 閱讀 7475

1樓:匿名使用者

照我的理解就是,math的random只能活的一個隨機數,而random類裡邊還提供了很多對隨機數處理的方法~~

2樓:匿名使用者

random類的隨機方法是設定隨機種子的,(如:new random().nextint(10)),這裡的10就是隨機種子,根據隨機數的原理,相同隨機種子在相同的隨機次數中產生的隨機數是一樣的,(

public class randomnum}),如果看math的random方法的實現**的話,就會發現,該方法就是呼叫的random類的nextdouble()方法。

因為math類的random方法使用較方便,不需要導包、建立物件,所以許多人習慣於使用該方法。

math類中random()方法與random類都可以生成隨機數,它們有何區別

3樓:匿名使用者

math.random()返回的只是從0到1之間的小數,如果要50到100,就先放大50倍,即0到50之間,這裡還是小數,如果要整數,就強制轉換int,然後再加上50即為50~100.

最終**:(int)(math.random()*50) + 50

random類產生的隨機數,在其最大值範圍內,按照概率均勻分佈的。也就是說,兩個種子數相同的random物件,第一次生成的隨機數字完全相同,第二次生成的隨機數字也完全相同。

c#中的random類如何使用?

4樓:雨嵐談金融

我們在做能自動生成試卷的考試系統時,常常需要隨機生成一組不重複的題目,在.net framework中提供了一個專門用來產生隨機數的類system.random。

對於隨機數,大家都知道,計算機不可能產生完全隨機的數字,所謂的隨機數發生器都是通過一定的演算法對事先選定的隨機種子做複雜的運算,用產生的結果來近似的模擬完全隨機數,這種隨機數被稱作偽隨機數。偽隨機數是以相同的概率從一組有限的數字中選取的。所選數字並不具有完全的隨機性,但是從實用的角度而言,其隨機程度已足夠了。

偽隨機數的選擇是從隨機種子開始的,所以為了保證每次得到的偽隨機數都足夠地「隨機」,隨機種子的選擇就顯得非常重要。如果隨機種子一樣,那麼同一個隨機數發生器產生的隨機數也會一樣。一般地,我們使用同系統時間有關的引數作為隨機種子,這也是.

net framework中的隨機數發生器預設採用的方法。

我們可以使用兩種方式初始化一個隨機數發生器:

第一種方法不指定隨機種子,系統自動選取當前時間作為隨機種子:

random ro = new random();

第二種方法可以指定一個int型引數作為隨機種子:

int iseed=10;

random ro = new random(10);

long tick = datetime.now.ticks;

random ran = new random((int)(tick & 0xffffffffl) | (int) (tick >> 32));

這樣可以保證99%不是一樣。

之後,我們就可以使用這個random類的物件來產生隨機數,這時候要用到random.next()方法。這個方法使用相當靈活,你甚至可以指定產生的隨機數的上下限。

不指定上下限的使用如下:

int iresult;

iresult=ro.next();

下面的**指定返回小於100的隨機數:

int iresult;

int iup=100;

iresult=ro.next(iup);

而下面這段**則指定返回值必須在50-100的範圍之內:

int iresult;

int iup=100;

int idown=50;

iresult=ro.next(idown,iup);

除了random.next()方法之外,random類還提供了rando

5樓:欒嵐嵐

c#random類是一個產生偽隨機數字的類,它的建構函式有兩種,一個是直接new random(),另外一個是new random(int32),前者是根據觸發那刻的系統時間做為種子,來產生一個隨機數字,後者可以自己設定觸發的種子,一般都是用uncheck((int)datetime.now.ticks)做為引數種子,因此如果計算機執行速度很快,如果觸發randm函式間隔時間很短,就有可能造成產生一樣的隨機數,因為偽隨機的數字,在random的內部產生機制中還是有一定規律的,並非是真正意義上的完全隨機。

random快速連續產生相同隨機數的解決方案:

1、延時的辦法。

可以採用for迴圈的辦法,也可以採用thread.sleep(100);

2、提高隨機數不重複概率的種子生成方法:

static int getrandomseed( )random random = new random( getrandomseed( ) );

6樓:不識臺北路

var random=new random();

var i = random.next(0,100);//獲取0-100中的一個隨機數

j**a中math類中有沒有random方法

聯通號碼可以使用飛信嗎,聯通號碼可以使用飛信業務嗎?

原版飛信業務已於2012年7月4日更新版本為 飛信2012驕陽 向聯通 電信使用者開放註冊使用。聯通號碼可以使用飛信,不過需要通過網路註冊登入通過網路傳送資訊。飛信好友給聯通號碼發簡訊也只有在對方登入飛信後才能收到。飛信 英語 fetion 是中國移動推出的 綜合通訊服務 實現網際網路和移動網間的無...

十七歲可以使用面膜嗎,十七歲可以使用面膜嗎

愛美之心,人皆有之。也可以用,十七歲 很嫩,還是用溫和補水保溼的 更為適合 當然可以啦,不過年齡小的話也不一定要常用,畢竟年輕 好,代謝也好,很多肌膚問題可以自己調節。回答親親,您好,我是您的生活顧問,您諮詢的問題我們已經收到了,正在為您查詢相關資料並整理答案,打字需要一些時間,請您稍等一下哦。您好...

醫保異地可以使用嗎,醫保可以異地使用嗎

可以異地使用 對於那些常在外地出差或者是退休後被安置在外地的人們來說,可以去醫保中心登記備案,這樣即便在異地看病,消費後的醫療費用是可以到醫保所在地辦理報銷手續。當然如果長期在外地居住或者是在外地工作,就要一定去社保中心登記,這樣常駐地和醫保所在地都可以同時接受醫療保障,只不過如果去大城市看病的話,...