亂數是要做什麼用的?生活中其實有很多有關亂數的事,例如說:樂透摸彩、抽籤、驚喜包、中獎者、擲骰子等等都是跟亂數有關哦!它們都是將所有的數都丟進去一個空間裡再隨機抽取,在不重複的狀況下每一個數抽到的機率都是一樣的。
在程式中也有這個玩法哦!但是說是這麼說到底怎麼用,咱們來看看:
語法:
Random 亂數變數 = new Random();
int 一般變數 = 亂數變數.Next(最小值,最大值);
在隨機抽取的時候有兩種玩法:一種是會重複,另一種是不會重複。也就是說抽到後的籤還要不要放回去。那麼我們直接來看實例:
for迴圈中有一個框框,這是使用region將程式做區塊,也就是說現在這一區塊是做「判斷是否有重複這個值」。我們打開來看一下↓
應該有看到一次要抽取多個時,若沒有做對於是否有重複的判斷式,則有可能出現重複的數哦!就像是實例的中間那一區塊是沒有做判斷式的,輸出的結果就遇到重複兩個0,有做是否有重複的判斷式就會避免遇到重複的值哦!
這邊我使用list資料集合的方式來做是否重複的判斷。
Step1:隨機抽取一個數
Step2:用搜尋方式看此數有沒有在List資料內,若找不到則會傳「-1」
Step3:倘若在list有找到此數,使用While迴圈繼續抽取,直到List集合中沒有此數為止
Step4:將抽取到的數存入List內
※注意:
倘若給予Random抽取的基數數量 <(小於) 要抽取的數量,那麼絕對會出現重複的值,若還要讓它不重複肯定會讓程式一直不斷執行,最後導致電腦當機的狀況!所以特別要注意!!