c隨機函式怎麼設定取值範圍,例如我要隨機數大於零,要怎麼辦

時間 2022-09-05 11:20:05

1樓:三寸日光之半僧

隨機數 對你要的 範圍取餘,範圍要大於0

2樓:手機使用者

random random = new random();

int red = random.next(100, 255);//設定取值範圍為100-255

int green = random.next(120, 255);

int blue = random.next(100, 255);

color color = color.fromargb(red, green, blue);

3樓:

string strs = ;

random rand = new random(system.guid.newguid().gethashcode());

//rand.next(0, strs.length)中的第乙個引數是最小值,第二個引數是最大值

console.write(strs[rand.next(0, strs.length)]);

4樓:舞動的青春啊

max就是你隨機數的上限,你自己定

random rd=new random();

int n=rd.next(0,max);

5樓:劍舞廣寒

random randomnumber=new random();

int n=randomnumber.next(0,100);

//隨機產生0到99的數

6樓:匿名使用者

random後面的引數自定即可

7樓:匿名使用者

readom r = new readom(0,1);

c#中,怎麼產生乙個隨機數?

8樓:匿名使用者

.net.frameword中提供了乙個專門產生隨機數的類system.

random,此類預設情況下已被匯入,程式設計過程中可以直接使用。我們知道,計算機並不能產生完全隨機的數字,它生成的數字被稱為偽隨機數,它是以相同的概率從一組有限的數字中選取的,所選的數字並不具有完全的隨機性,但就實用而言,其隨機程度已經足夠了。

可以用以下兩種方法初始化乙個隨機數發生器;

函式是這樣用,比如100至999的隨機數

random ran=new random();

int randkey=ran.next(100,999);

不過這樣會有重複,可以給random乙個系統時間做為引數,以此產生隨機數,就不會重複了

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

random ra=new random();

第二種方法是指定乙個int型的引數作為隨機種子:

int iseed=6;

random ra=new random(iseed);

下面我們要用到random.next()方法產生隨機數。

ra.next();

它返回乙個大於或等於零而小於2,147,483,647的數,這並不滿足我們的需要,下面我們介紹它的過載函式和其它一些方法。

public virtual int next(int);

用法:ra.next(20)

返回乙個小於所指定最大值(此處為20)的正隨機數。

public virtual int next(int minvalue, int maxvalue);

用法:ra.next(1,20)

返回乙個指定範圍內(此處為1-20之間)的隨機數,我們在下面的例項中會用到此函式。

類system.random還有幾個方法分別是:

公共方法:

nextbytes用隨機數填充指定位元組陣列的元素。

nextdouble返回乙個介於 0.0 和 1.0 之間的隨機數。

受保護的方法:

sample返回乙個介於 0.0 和 1.0 之間的隨機數,只允許子類物件訪問。

以上介紹了隨機數的基本用法,下面我們用乙個例項來做更進一步的介紹。要在一段數字區間內隨機生成若干個互不相同的隨機數,比如在從1到20間隨機生成6個互不相同的整數。

主要是下面兩個函式getrandomnum與getnum:

public int getrandomnum(int num,int minvalue,int maxvalue)

return arrnum;

}getrandomnum即是在區間[minvalue,maxvalue]取出num個互不相同的隨機數,返回的陣列包含著結果。

其中隨機數是這樣建立的 random ra=new random(unchecked((int)datetime.now.ticks));為什麼不用random ra=new random();(系統自動選取當前時前作隨機種子)

用系統時間做隨機種子並不保險,如果應用程式在乙個較快的計算機上執行,則該計算機的系統時鐘可能沒有時間在此建構函式的呼叫之間進行更改,random 的不同例項的種子值可能相同。這種情況下,我們就需要另外的演算法來保證產生的數字的隨機性。所以為了保證產生的隨機數足夠"隨機",我們不得不使用複雜一點的方法來獲得隨機種子。

在上面的這段程式中,我們首先使用系統時間作為隨機種子,然後將上一次產生的隨機數跟迴圈變數和乙個與系統時間有關的整型引數相乘,以之作為隨機種子,從而得到了每次都不同的隨機種子,保證了產生足夠"隨機"的隨機數。

函式getnum是一遞迴,用它來檢測生成的隨機數是否有重複,如果取出來的數字和已取得的數字有重複就重新隨機獲取。值得注意的是要用一同乙個隨機數例項生成,所以ra要作為引數傳入getnum中,否則生成的數字會有重複。

public int getnum(int arrnum,int tmp,int minvalue,int maxvalue,random ra)

n ;}

return tmp;

}最後就是要顯示出來,當點選乙個button時取出的數字顯示在乙個label中。

private void button1_click(object sender, system.eventargs e)

label1.text=temp; //顯示在label1中}

9樓:匿名使用者

函式是這樣用,比如100至999的隨機數

random ran=new random();

int randkey=ran.next(100,999);

10樓:匿名使用者

random random1 = new random();//產生0到1000的隨機數int i1=random1.next(0,1001);//產生0到9的隨機數

int i2=random1.next(0,10);//產生0到100的隨機數int i3=random1.next(0,101);

11樓:匿名使用者

int random = new random().next();

12樓:shine戚七七

random rd = new random();

int i = rd.next(1,100); //1到100之間的數,可任意更改

13樓:匿名使用者

random rd = new random();

int i = rd.next();

next()方法進行了過載,可以通過設定不同的形參來達到自己想要的隨機數。

另外,c#與c++不同,它一開始就已經對他的隨機數運算元進行了預設設定(c++需要程式設計師自己設定,否則每次執行程式時,所產生的隨機數序列是一致的)。

c#怎麼獲取隨機數

14樓:匿名使用者

在開發過程中,常常要產生隨機數,如生成靜態 html 網頁時,檔名通常用產生隨機數的方式獲得,生成定單的時候,定單號也可以用產生隨機數的方式獲得等。

在 c# 中,一般都用 random 產生隨機數,它可任意指定產生隨機數範圍。random 結合陣列,可以產生一些特殊範圍的隨機數,以滿足特殊的需要。

一、用 random 產生指定範圍隨機數

1、產生指定上限的隨機數(如產生100以內的隨機數)

random ran = new random();

int n = ran.next(100);

2、產生指定上下限的隨機數(如產生100到1000的隨機數)

random ran = new random();

int n = ran.next(100, 1000);

二、用 random 結合陣列產生指定範圍隨機數

在某些情況下,隨機數只能取一些特殊指定的值,如不連續的數字或指定的一些單詞等,此時僅用 random 無法達到要求,必須借住陣列才能實現。實現思路大概是這樣:先把這些特殊的值存到陣列中,然後把陣列的長度作為 random 的上限產生隨機數,此隨機數正是陣列的下標,根據該下標取得陣列的值。

1、示例一

假如要產生不連續的隨機數,**如下:

public string getrandom(string arr)

呼叫方法:

string arr = ;

getrandom(arr);

2、示例二

假如要用指定單詞作為隨機數的取值,**實現跟示例一相同,所不同的僅是隨機數的取值,所以只要定義乙個單詞陣列直接呼叫上面**即可。

呼叫方法:

string arr = ;

getrandom(arr);

以上兩種產生指定隨機數的方法,都通過測試,可根據實際開發需要靈活選擇,一般情況都是直接用 random 就可以了

15樓:匿名使用者

random r = new random();

int x = r.next();

//生成乙個100到1000之間的隨機數

int y = r.next(100, 1000);

16樓:稱其英茹癸

使用random類中的next()方法。

例如,生成乙個100以內的隨機數:

random r = new random();

int i = r.next(100);函式next()中傳入的引數100表示隨機數最大為100.

求c#產生隨機數的函式

17樓:匿名使用者

random ra = new random();

或random ra = new random(int seed);

public int next();

用法:ra.next();

它返回乙個大於或等於零而小於2,147,483,647的數,這並不滿足我們的需要,下面我們介紹它的過載函式和其它一些方法。

public int next(int maxvalue);

用法:ra.next(20)

返回乙個小於所指定最大值(此處為20)的正隨機數。

public int next(int minvalue, int maxvalue);

用法:ra.next(1,20)

返回乙個指定範圍內(此處為1-20之間)的隨機數,我們在下面的例項中會用到此函式。

類system.random還有幾個方法分別是:

公共方法:

nextbytes用隨機數填充指定位元組陣列的元素。

nextdouble返回乙個介於 0.0 和 1.0 之間的隨機數。

受保護的方法:

sample返回乙個介於 0.0 和 1.0 之間的隨機數,只允許子類物件訪問。

用rand隨機函式怎麼求指定範圍的隨機數

a羅網天下 在excel中使用函式rand 最大值 最小值 最小值即可得到5 18範圍內的隨機數了,如下圖操作所示 1 在任一excel單元格數輸入 rand 18 5 5 2 輸入完成後按回車,即可得到5 18間的隨機數 3 選擇生成的隨機數,進行填充後就可以很多5 18之間的隨機數,如下圖所示 ...

c語言抽取隨機數怎麼編寫,C語言抽取隨機數怎麼編寫

珈藍惜夢 源程式 以及演算法解釋如下 產生1 10隨機數程式 include include using namespace std int main 定義隨機數儲存的陣列 srand unsigned time null 初始化隨機函式 number 0 rand n 第乙個隨機數無需比較 cou...

怎麼用c 生成指定隨機數,在c 裡怎麼弄隨機數?

滄海雄風 include include include using namespace std int main srand unsigned time null 初始化時間種子 int ret rand 3 產生 0 1 2 三種隨機數 int real pow 2,ret 2的0次方 1 2的...