ArrayList中隨機產生一個值的方法:

int randomNumber=(int)(Math.random()* arraylist.size)+1;java

註釋是:獲得一個1到8之間的隨機整數。開始的時候不是很懂,因而翻書、上網找資料,可是獲得的結果都是同樣的。Math.random()的做用是獲得0-1之間的隨機數。那麼是如何實現的呢?dom

仔細想想其實並非很複雜:Math.random()的取值應該是0-1(事實上取不到0和1)之間的隨機小數,乘以8以後應該是0-8之間的隨機小數,也就是0.****到7.****之間的小數(大於0而小於8),通過int類型轉換以後,應該是0-7之間的隨機整數,因此"+1"以後就會獲得1-8之間的it

 

update: 隨機數

開了別人的源代碼, 發現另一種得到隨機數方法。date

得到僞隨機數方法,Random.nextInit(n);方法

java中的util提供的一個產生僞隨機數的方法,n是一個int數, 返回值是0 ~ n中的一個int。next

相關文章
相關標籤/搜索