隨機數(shù)的產(chǎn)生在一些代碼中很常用,也是我們必須要掌握的。而java中產(chǎn)生隨機數(shù)的方法主要有三種:
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比子洲網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式子洲網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋子洲地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
第一種:new Random()
需要借助java.util.Random類來產(chǎn)生一個隨機數(shù)發(fā)生器,也是最常用的一種,構(gòu)造函數(shù)有兩個,Random()和Random(long seed)。第一個就是以當(dāng)前時間為默認(rèn)種子,第二個是以指定的種子值進行。產(chǎn)生之后,借助不同的語句產(chǎn)生不同類型的數(shù)。
種子就是產(chǎn)生隨機數(shù)的第一次使用值,機制是通過一個函數(shù),將這個種子的值轉(zhuǎn)化為隨機數(shù)空間中的某一個點上,并且產(chǎn)生的隨機數(shù)均勻的散布在空間中。以后產(chǎn)生的隨機數(shù)都與前一個隨機數(shù)有關(guān)。
示例:
public static void main(String[] args) { Random r = new Random(1); for(int i=0 ; i<5 ; i++) { int ran1 = r.nextInt(100); System.out.println(ran1); } }
第二種:Math.random()
Math.random()方法返回的數(shù)值是[0.0,1.0)的double型數(shù)值,由于double類數(shù)的精度很高,可以在一定程度下看做隨機數(shù),借助(int)來進行類型轉(zhuǎn)換就可以得到整數(shù)隨機數(shù)了,代碼如下。
public static void main(String[] args) { int max=100,min=1;4 int ran2 = (int) (Math.random()*(max-min)+min); System.out.println(ran2);6 }
第三種:currentTimeMillis()
currentTimeMillis()方法返回從1970年1月1日0時0分0秒(這與UNIX系統(tǒng)有關(guān))到現(xiàn)在的一個long型的毫秒數(shù),取模之后即可得到所需范圍內(nèi)的隨機數(shù)。
public static void main(String[] args) { int max=100,min=1; long randomNum = System.currentTimeMillis(); int ran3 = (int) (randomNum%(max-min)+min); System.out.println(ran3); }
以上就是java怎么產(chǎn)生隨機數(shù)的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!