1樓:匿名使用者
在開發過程中,常常要產生隨機數,如生成靜態 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 就可以了。
c# 怎麼連續產生多個指定範圍的隨機數?
2樓:匿名使用者
格式為:random.next(最小數,最大數)
例如:random.next(0,1000000)
解釋:範圍0-1000000隨機取一個整數
3樓:匿名使用者
public static int randomnum(int minvalue, int maxvalue)
可以試試這個,一直在用,沒什麼問題
隨機數有重複是很正常的,只是每次生成專都屬不同就行了
4樓:點球絕對罰進
random.next(int32,int32)這個方法bai裡面的兩個引數分別寫最du小值zhi和最大值,dao得到專的隨機數就是這兩屬個引數範圍內的值
這是我剛才試的**
random r = new random();
int a = r.next(1, 10);
int b = r.next(1, 10);
int c = r.next(1, 10);
int d = r.next(1, 10);
結果並不是一樣的,雖然有時會一樣,隨機數嘛
5樓:江小右
樓主這個原因我知道copy
,應該是這樣的,你的隨機種子用的是datetime.now,你這樣做的結果是a,b,c,d是幾乎同時發生的導致了隨機種子一樣。請樓主注意隨機種子的設定要在不同的情況下用不同的方法,如果你a,b,c,d是在不同時間發生的你用時間來設定種子是可以的,像你這種情況的話隨機種子最好用其他方法,比方根據呼叫的次數來確定隨機數,這樣也是可以的。
另外樓主要注意的是,我們所說的隨機數實際上是偽隨機數,樓主可以網上好好查檢視
6樓:匿名使用者
random.next(int32,int32)中的int32是引數,必須得指定兩個引數才行。不然怎麼能呼叫?兩個引數必須得前者比後者小,一樣的話只能產生一個值
7樓:匿名使用者
因為你的rand都是一個,你要每次迴圈新建立一個random
c#中,怎麼產生一個隨機數?
8樓:匿名使用者
函式是這樣用,比如100至999的隨機數
random ran=new random();
int randkey=ran.next(100,999);
9樓:匿名使用者
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);
10樓:匿名使用者
int random = new random().next();
11樓:shine戚七七
random rd = new random();
int i = rd.next(1,100); //1到100之間的數,可任意更改
12樓:匿名使用者
random rd = new random();
int i = rd.next();
next()方法進行了過載,可以通過設定不同的形參來達到自己想要的隨機數。
另外,c#與c++不同,它一開始就已經對他的隨機數運算元進行了預設設定(c++需要程式設計師自己設定,否則每次執行程式時,所產生的隨機數序列是一致的)。
c#中怎樣用random產生1到10之間的隨機數
13樓:墨汁諾
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之間的任意一個數
14樓:匿名使用者
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之間的隨機數
15樓:匿名使用者
random rnumber = new random();//例項化一個隨機數物件
rnumber.next(1,10);//產生一個1到10之間的任意一個數
rnumber.next(1,1000);//產生一個1到1000之間的任意一個數
16樓:匿名使用者
random rnumber = new random();
rnumber.next(1,10);
rnumber.next(1,1000);
c#程式設計的時候需要快速連續的生成多個隨機數怎麼解決?
17樓:匿名使用者
首先你要闡述「連續的生成多個隨機數」是什麼概念,是連續產生 「隨
機數」,還是 多個隨機數是連續的,
產生隨機數使用random即可實現,
如int型別的隨機數:
int a = new random().next(); //.next方法提供3個過載可以指定最大最小範圍,
如果是需要「多次」生成,那麼使用迴圈來做random即可。
如果是要「連續」,那麼你首先要求一個隨機數,然後對這個隨機數進行不停的++。來獲得他連續的數字。
C均勻分佈隨機數,c語言產生均勻分佈隨機數為什麼是同一個值啊
float a 6400 srand time 0 for int i 0 i 6400 i 初始化種子之後,呼叫rand 就是隨機均勻分佈的。如果要產生諸如正態分佈等等的曲線的話需要用其它工具或者是自己寫演算法。c 產生 a,b 區間的均勻分佈的隨機數 x float rand float ran...
如何用rand函式產生隨機數,如何用rand函式產生一個隨機數
rand 函式是產生隨機數的一個隨機函式。注意 1 使用該函式首先應在開頭包含標頭檔案stdlib.h include c 建議使用 include,下同 2 在標準的c庫中函式rand 可以生成0 rand max之間的一個隨機數,其中rand max 是stdlib.h 中定義的一個整數,它與系...
C工具中,隨機數是怎樣產生的?Mathlab呢?Java
c 一般採用和系統時間搭配來產生隨機數 經典的 c程式設計教程 是這樣做的 indclude time.h srand time null int x x rand 樓主說的是matlab 吧 matlab產生隨機數的方法有很多,因為matlab專門是用來做數值計算的 randon 浮點型 rand...