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