1樓:匿名使用者
random rad = new random();//例項化隨機數產生器rad;
2樓:匿名使用者
system.random random = new system.random();
int result= random.next(0, 9999);
這個是c#自帶的生成隨機數的類,你看看.next的說明就知道了
3樓:幻想武士
random rd = new random();
string str = "";
while (str.length < 4)}console.writeline("str="+str);
在c#中,怎麼產生一個隨機數?
4樓:匿名使用者
.***.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中}
c#中怎樣用random產生1到10之間的隨機數
5樓:墨汁諾
1、@echo off
rem 用random產生1到10之間的一個隨機數set num=%random%
set /a num=num%%10+1
echo %num%
1到1000:
2、rnumber.next(1,1000);
random rnumber = new random();//例項化一個隨機數專物件
rnumber.next(1,10);//產生一個1到10之間屬的任意一個數
rnumber.next(1,1000);//產生一個1到1000之間的任意一個數
6樓:匿名使用者
random randobj = new random();
int start=1;//隨機數可取該下界值int end=10;//隨機數不能取該上界值for( int j= start ; j < end; j++ ) ",randobj.next( start, end) );
}就可以生成1-10之間的隨機數了
你再把start=1和end=1000就可以了 產生1到1000之間的隨機數
7樓:匿名使用者
random rnumber = new random();//例項化一個隨機數物件
rnumber.next(1,10);//產生一個1到10之間的任意一個數
rnumber.next(1,1000);//產生一個1到1000之間的任意一個數
8樓:匿名使用者
random rnumber = new random();
rnumber.next(1,10);
rnumber.next(1,1000);
c#怎樣生成隨機數
9樓:無名小卒
random類預設的無參構造來
函式可自以根據當前系統時鐘為種子,進行一系列演算法得出要求範圍內的偽隨機數。
random rd = new random();
rd.next(1,10)(生成1~10之間的隨機數,不包括10)。
guid 類
guid (globally unique identifier) 全球唯一識別符號。
guid的計算使用到了很多在本機可取到的數字,如硬體的id碼,當前時間等.所計算出的128位整數(16位元組)可以接近唯一的輸出。
console.writeline(guid.newguid().tostring())。
10樓:匿名使用者
random rd = new random();
int i = rd.next(1,100); //1到100之間的數,可任意更改
11樓:匿名使用者
random rd = new random();
int i = rd.next();
next()方法進行了過載,可以通過設定不同的形參來達到自己想要的隨機數專。
另外,c#與c++不同,它一開屬始就已經對他的隨機數運算元進行了預設設定(c++需要程式設計師自己設定,否則每次執行程式時,所產生的隨機數序列是一致的)。
12樓:繁翊夏侯銘
例:random
a=new
random();建立隨機變數;
inti=a.next(5,20);
textbox1.text=i.tostring();
整數i等於5到20之間的隨
機數;double
i=a.nextdouble();
textbox1.text=i.tostring();
i等於0到1之間的隨機數;
要英文隨機可以
inti=a.next(1,25);
switch(i)
CList隨機數,C怎麼在list集合中隨機取出一個值
這個是自然的,1到101之間有101個數,當i.count 100的時候,就只有一個不重複的數可以新增到i裡面了。既然是隨機數,怎麼會產生指定的那個數呢?假如只剩下100可以新增到i裡面,要隨機多少次才會產生出這個數呢?進入死迴圈是必須的 c 如何從一個列表裡取一個隨機數?輸入 列表 輸出 隨機元素...
隨機數生成器怎麼使用,隨機數生成器怎麼使用
選擇隨機數需要的複雜度,例如加入數字,字母,特殊符號等,選擇位數,點選生成就可以啦 a rand 求個隨機數生成器 隨機數生成器是一款能夠生成各種隨機數字的工具 支援生成數字 骰子 條碼 賬戶等 ramdom rd new ramdom 例項化random 類的新例項rd for int 0 i 1...
C工具中,隨機數是怎樣產生的?Mathlab呢?Java
c 一般採用和系統時間搭配來產生隨機數 經典的 c程式設計教程 是這樣做的 indclude time.h srand time null int x x rand 樓主說的是matlab 吧 matlab產生隨機數的方法有很多,因為matlab專門是用來做數值計算的 randon 浮點型 rand...