1.前提
1.1 隨機器的使用方法(以獲取[0,3)范圍內的整數為例)
第一步: Random random=new Random();
第二步: int age=random.nextInt(3);//測驗結果表明可以輸出0,1,2這三個數
總結規律如下:
若random.nextInt(n)----->可以取到從0開始到n-1這n個數
1.2隨機器產生的亂數一定是數字
2.隨機器產生指定范圍[n,m]內的亂數
2.1分析
隨機器取不到n本身這個數的,如何取到呢?
解決方法: 取n+1個數,n+1雖取不到但n這個數可以取到
隨機器的范圍是默認從o開始的,如何從不為0的數開始呢?
在數學中,[0,20)變成[10,30)這個區間采用的方法如下:
把[0,20)這個區間的所有數都加10--------> [0+10,20+10)
所以我們也只需要把[0,m+1)這個區間加上左端點的值就行
[0+n,m+1+n)------->[n,m+n+1)-------->函式外面加上n的意思
而[n,m]的范圍中的數的個數為m-n+1,所以求[n,m]區間里的亂數,括號里應該填m-n+1
2.2解決方法為: random.nextInt(m-n+1)+n
個人理解,括號里填要產生亂數的個數,如果要產生的亂數的區間的左端點值為n
那么可以加上在括號后面加上n(注意:n是帶著它的符號走的,無論是正負,都是加上n這個符號的數)
3.常識補充
在java生產環境中,函式的區間大多都是左開右關(即左端點取得到,右端點取不到)--->[初始值,結束值)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/203310.html
標籤:其他
