java用Math.random() 隨機數控制范圍問題


資料:

(1)高級軟件工程師:

https://zhidao.baidu.com/hangjia/profile/ahcc08?ie=gbk

 

詳解:

這是一段程序中的代碼:
int randomNumber=(int)(Math.random()*8)+1;
所給出的注釋是:得到一個1到8之間的隨機整數。開始的時候不是很懂,於是翻書、上網找資料,但是得到的結果都是一樣的。Math.random()的作用是得到0-1之間的隨機數。那么是如何實現的呢?
仔細想一想其實並不是很復雜:Math.random()的取值應該是0-1(事實上取不到0和1)之間的隨機小數,乘以8之后應該是0-8之間的隨機小數,也就是0.****到7.****之間的小數(大於0而小於8),經過int類型轉換之后,應該是0-7之間的隨機整數,所以"+1"之后就會得到1-8之間的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM