一、random類
表示偽隨機數生成器,一種能夠產生滿足某些隨機性統計要求的數字序列的裝置。
random.next()有3個過載。
/// /// 生成隨機數
///
///
public listrdnumber()
return col;
}
由於system.random 類預設的無參建構函式使用與時間相關的預設種子值。上面例子迴圈完成的時間很短,所以根據系統時間得到的隨機數是一樣的。
這時把初始化random類放在迴圈外面試一下:
public listrdnumber()
return col;
}
結果:沒有出現重複值
1、生成不重複隨機數
方法一:
/// /// 指定範圍內的不重複隨機數(要求隨機數個數小於隨機數範圍否則程式會陷入死迴圈。可在迴圈中加入跳出機制)
///
/// 隨機數個數
/// 隨機數下限
/// 隨機數上限
///
public listgetrandomarray(int number, int minnum, int maxnum)
else
}return b;
}
方法二:思想是用乙個陣列來儲存索引號,先隨機生成乙個陣列位置,然後把隨機抽取到的位置的索引號取出來,並把最後乙個索引號複製到當前的陣列位置,然後使隨機數的上限減一,具體如:先把這100個數放在乙個陣列內,每次隨機取乙個位置(第一次是1-100,第二次是1-99,...),將該位置的數用最後的數代替。
int index = new int[15];
for (int i = 0; i < 15; i++)
index[i] = i;
random r = new random();
//用來儲存隨機生成的不重複的10個數
int result = new int[10];
int site = 15;//設定上限
int id;
for (int j = 0; j < 10; j++)
2、生成字母數字隨機組合
這裡先說一下說一下
ascii:ascii(american standard code for information interchange,
美國標準資訊交換**)是基於拉丁字母的一套電腦編碼系統,主要
用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼
系統,並等同於國際標準iso/iec 646。
a-z的 ascii值為65-90,a-z的 ascii值為97-122
**:
/// /// 生成單個隨機數字
///
public int createnum(random random)
/// /// 生成單個大寫隨機字母
///
public string createbigabc(random random)
/// /// 生成單個小寫隨機字母
///
public string createsmallabc(random random)
/// /// 生成隨機字母數字組合
///
///
public string getrandom()
}return sb.tostring();
}
C 隨機數生成
using system using system.collections.generic using system.text namespace createrandomno return sb.tostring 生成大寫字母隨機數 public static string getabcpwd i...
C 隨機數生成
標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回乙個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...
C 隨機數生成
標準庫 被包含於中 提供兩個幫助生成偽隨機數的函式 函式一 int rand void 從srand seed 中指定的seed開始,返回乙個 seed,rand max 0x7fff 間的隨機整數。函式二 void srand unsigned seed 引數seed是rand 的種子,用來初始化...