中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Java中生成隨機數的方式有哪些

發布時間:2022-02-21 17:04:47 來源:億速云 閱讀:141 作者:iii 欄目:開發技術

這篇“Java中生成隨機數的方式有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java中生成隨機數的方式有哪些”文章吧。

一、Math.random()方法

該方法相對于 Random 類而言比較簡單,因為 Math 類是 Java 的內置包裝類,無需創建一個實例化對象,可以在程序中直接調用該類,以及使用該類的方法。

使用該方法的小伙伴們應該都知道,該方法只能是生成 [0.0,1.0) 之間 double 類型的任意一個小數,生成的隨機數相對比較單一,想要生成其他類型的,就需要在該方法前面加上一個類型強轉。

public class Demo01 {
    public static void main(String[] args) {
        for (int i = 0; i <5 ; i++) {
            System.out.println("第"+(i+1)+"個隨機數"+Math.random());
}    } }

打印結果:

第1個隨機數0.414584525834634
第2個隨機數0.20853675432372987
第3個隨機數0.8055865595912437
第4個隨機數0.36986922245541953
第5個隨機數0.8716016725358281

生成具體范圍內的任意一個整數,例如在 [20, 35] 之間生成隨機數。

public class Demo01 {

    public static void main(String[] args) {

       int num;

        for (int i = 0; i < 5; i++) {

            /**
             * 要求是在[20,35]之間生成一個隨機整數
             * 因為要包括35,但是random隨機生成是不包括右側的值,所以右側取36
             * 即[20,36)
             * 左右各減去20   [0,16)
             * 而Math.random的范圍是在[0,1),需要乘上16
             * 最后再加上20,即[20,36)
             * 在進行 int 強轉
             * */
            num = (int)(Math.random()*16)+20;
            System.out.println("第"+(i+1)+"次:"+num);
        }
    }
}

打印結果:

第1次:29
第2次:25
第3次:33
第4次:34
第5次:30

二、Random類

Random 相較于 Math.random() 方法而言,它提供了各式各樣的生成隨機數的方式,可以生成 boolean,int,long,float,byte以及double類型的隨機數。

Random 類是屬于 java.util 包的,該類經常使用的兩個構造方法如下:

  • Random()    使用一個和系統時間(也就是你電腦右下角的時間)對應的數字作為種子數,然后根據這個種子數構造一個 Random 對象。

  • Random(long seed)    使用單個 long 類型的參數創建一個新的隨機數生成器。

下面將通過編寫一個簡單的 Java 程序,來演示 Random 的具體使用:

import java.util.Random;

public class Demo02 {

    public static void main(String[] args) {
        // 需要創建一個Random類實例化對象
        Random random=new Random();
        double d1=random.nextDouble(); // 生成一個[0.0,1.0)之間double類型的小數
        double d2=random.nextDouble() * 10; // 生成一個[0.0,10.0)之間double類型的小數

        int i1=random.nextInt(5); // 生成[0,5)之間的一個整數
        int i2=random.nextInt(15)-5;// 生成[-5,10)之間的一個整數

        long l1=random.nextLong(); // 生成一個長整型的整數
        boolean b1=random.nextBoolean(); // 生成一個布爾值
        float f1=random.nextFloat(); // 生成一個浮點型

        System.out.println("[0.0,1.0)隨機生成的小數是:"+d1);
        System.out.println("[0.0,10.0)隨機生成的小數是:"+d2);
        System.out.println("[0,5)隨機生成的整數是:"+i1);
        System.out.println("[-5,10)隨機生成的整數是:"+i2);
        System.out.println("隨機生成的長整型是:"+l1);
        System.out.println("隨機生成的布爾值是:"+b1);
        System.out.println("隨機生成的浮點型是:"+f1);
    }
}

打印結果:

[0.0,1.0)隨機生成的小數是:0.9045874539818738
[0.0,10.0)隨機生成的小數是:1.1869962319035776
[0,5)隨機生成的整數是:2
[-5,10)隨機生成的整數是:1
隨機生成的長整型是:4030922400205769823
隨機生成的布爾值是:true
隨機生成的浮點型是:0.3139649

以上就是關于“Java中生成隨機數的方式有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

姚安县| 繁昌县| 曲松县| 南乐县| 阿克| 浪卡子县| 特克斯县| 昌都县| 金堂县| 平邑县| 左权县| 尖扎县| 琼海市| 汉沽区| 遂溪县| 清徐县| 金乡县| 普洱| 龙川县| 会宁县| 乐陵市| 日土县| 台中市| 抚松县| 池州市| 利辛县| 寿光市| 天等县| 闵行区| 晋州市| 肃北| 广宁县| 来安县| 大石桥市| 辽宁省| 出国| 万山特区| 宜昌市| 哈巴河县| 苍溪县| 固阳县|