java生成隨機(jī)數(shù)的方法

這篇文章將為大家詳細(xì)講解有關(guān)java生成隨機(jī)數(shù)的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價格,機(jī)房位于中國電信/網(wǎng)通/移動機(jī)房,成都機(jī)柜租用服務(wù)有保障!

java生成隨機(jī)數(shù)的方法:1、借助【java.util.Random】類來產(chǎn)生一個隨機(jī)數(shù)發(fā)生器;2、返回的數(shù)值是【[0.0,1.0)】的double型數(shù)值。

java生成隨機(jī)數(shù)的方法:

1、第一種

第一種需要借助java.util.Random類來產(chǎn)生一個隨機(jī)數(shù)發(fā)生器,也是最常用的一種,構(gòu)造函數(shù)有兩個,Random()和Random(long seed)。第一個就是以當(dāng)前時間為默認(rèn)種子,第二個是以指定的種子值進(jìn)行。產(chǎn)生之后,借助不同的語句產(chǎn)生不同類型的數(shù)。

種子就是產(chǎn)生隨機(jī)數(shù)的第一次使用值,機(jī)制是通過一個函數(shù),將這個種子的值轉(zhuǎn)化為隨機(jī)數(shù)空間中的某一個點上,并且產(chǎn)生的隨機(jī)數(shù)均勻的散布在空間中。以后產(chǎn)生的隨機(jī)數(shù)都與前一個隨機(jī)數(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);
      }
    }

在我的編譯器下產(chǎn)生的五個數(shù)均為85,88,47,13,54,如果采用Random r = new Random(),產(chǎn)生的隨機(jī)數(shù)就不同,這就是確定種子導(dǎo)致的結(jié)果。

2、第二種

而第二種方法返回的數(shù)值是[0.0,1.0)的double型數(shù)值,由于double類數(shù)的精度很高,可以在一定程度下看做隨機(jī)數(shù),借助(int)來進(jìn)行類型轉(zhuǎn)換就可以得到整數(shù)隨機(jī)數(shù)了,代碼如下。

public static void main(String[] args)
{    
    int max=100,min=1;
    int ran2 = (int) (Math.random()*(max-min)+min); 
    System.out.println(ran2);
}

3、第三種

至于第三種方法雖然不常用,但是也是一種思路。方法返回從1970年1月1日0時0分0秒(這與UNIX系統(tǒng)有關(guān))到現(xiàn)在的一個long型的毫秒數(shù),取模之后即可得到所需范圍內(nèi)的隨機(jī)數(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);
    
}

關(guān)于“java生成隨機(jī)數(shù)的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

分享文章:java生成隨機(jī)數(shù)的方法
本文地址:http://bm7419.com/article38/gosipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、營銷型網(wǎng)站建設(shè)、電子商務(wù)、商城網(wǎng)站、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)