溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java隨機數(shù)random的使用方法

發(fā)布時間:2021-06-16 15:01:12 來源:億速云 閱讀:271 作者:chen 欄目:編程語言

本篇內(nèi)容主要講解“java隨機數(shù)random的使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“java隨機數(shù)random的使用方法”吧!

在java中,random的用法是“static double random()”?!皉andom()”方法用于返回一個隨機數(shù),隨機數(shù)范圍為“0.0=<Math.random<1.0”,這是一個默認方法,不接受任何參數(shù)。

本教程操作環(huán)境:windows7系統(tǒng)、java10版、DELL G3電腦。

在Java中生成隨機數(shù)有幾種方式

Java.util.UUID-生成唯一的字符串

可以通過UUID類生成唯一的字符串,并且是全局唯一,所有的電腦產(chǎn)生的字符串都是不同的。它的使用方式如下:

String uuid  =  UUID.randomUUID().toString();

Math.random()

通過Math.random()方法可以生成[0,1)區(qū)間中double類型的數(shù)字,可以為0,但是小于1。其他通常的使用方式如下

生成double隨機數(shù):Math.random()
生成[0,100)之間的整數(shù):(int)(Math.random()*100)

進入Math.random()的源碼中它的具體使用是調(diào)用的Random的nextDouble()方法。

public static double random() {
        return RandomNumberGeneratorHolder.randomNumberGenerator.nextDouble();
}
    
private static final class RandomNumberGeneratorHolder {
   static final Random randomNumberGenerator = new Random();
}

Random類

Random類生成隨機的數(shù),它的主要方法如下

java隨機數(shù)random的使用方法

下面的例子是利用Random生成5個[0,100)內(nèi)的隨機數(shù)

Random random = new Random();

//生成5個 0到100之間的數(shù)字。
System.out.println("生成5個 0到100之間的數(shù)字。 nextInt(100)");
for (int n = 0; n < 5; n++) {
    System.out.print(random.nextInt(100)+", ");
}

Random的使用注意事項

Random產(chǎn)生隨機數(shù)有兩種方式,一種不帶種子,一種是帶種子的

有下面這樣一段代碼,定義兩個隨機數(shù),設(shè)定相同的種子,返回100以內(nèi)的隨機整數(shù),兩個Random產(chǎn)生的隨機數(shù)順序是一樣的。

Random random = new Random(100);
Random random1 = new Random(100);

//隨機生成5個int數(shù)字  next()
System.out.println("隨機生成5個int數(shù)字  next()");
for (int n = 0; n < 5; n++) {
    System.out.println(random.nextInt(100)+" "+random1.nextInt(100));
}

輸出的結(jié)果如下:
15,15
50,50
74,74
88,88
91,91

Random的隨機數(shù)其實偽隨機數(shù),只要種子確定,那么生成的隨機數(shù)順序是一致的,所以避免例子中兩個Random實例產(chǎn)生了順序一致的隨機數(shù)。一般有兩種方式

  • 生成Random實例的時候不指定種子。

  • 生成一個單例的Random類,然后生成隨機數(shù)。

到此,相信大家對“java隨機數(shù)random的使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI