App下載

Java怎么生成隨機數?Random類有哪些用法?

猿友 2021-05-19 18:04:53 瀏覽數 (4003)
反饋

軟件中經常需要產生隨機數。比如游戲中常用隨機數代表投骰子或者洗牌,抽獎經常用隨機數模擬抽獎概率。在 Java 中,有一個  Random 類專門用來模擬隨機數。接下來,就讓小編帶你了解一下這個類。

生成整型的隨機數

使用 Random 類的 ?nextInt() ?方法,可以生成一個范圍為整個 int 取值區(qū)間的 int 類型隨機數。

 ?nextInt()? 方法可以傳入一個 int 類型的參數,傳參情況下生成的隨機數范圍是從 0 到該參數的范圍。

生成浮點型的隨機數

使用 Random 類的? nextFloat()?/?nextDouble()? 方法,可以生成一個范圍為0到1.0范圍內的浮點型隨機數(兩種方法產生的隨機數精度不同)。

Random的其他方法

使用 Random 類的 ?nextGaussian()? 方法,可以生成一個偽高斯分布的均值為0.0,標準差為1.0從此隨機數生成器的序列的 double 值。

import java.util.Random;

public class RandomNumbers{
    public static void main(String[] args) {
        int num1 = new Random().nextInt();//使用Random的nextInt方法生成int類型隨機數,范圍為整個int的取值區(qū)間
        System.out.println(num1);
        int num2=new Random().nextInt(10);//使用Random的nextInt方法生成int類型隨機數,范圍為0到輸入參數的取值區(qū)間
        System.out.println(num2);
        num2 = new Random().nextInt(10)+10;//通過加減法,修改最終生成隨機數的生成范圍
        float num3 =new Random().nextFloat();
        //使用Random的nextFloat方法生成float類型隨機數,范圍為0d到1.0區(qū)間的浮點隨機數
        System.out.println(num3);
        double num4 =new Random().nextDouble();
        //使用Random的nextDouble方法生成double類型隨機數,范圍為0d到1.0區(qū)間的浮點隨機數
        System.out.println(num4);
        double num5 = new Random().nextGaussian();
        //生成一個偽高斯分布的均值為0.0,標準差為1.0從此隨機數生成器的序列的double值。
        System.out.println(num5);
    }
}

更多技巧

可以通過加減乘除,來擴大縮小,或者移動區(qū)間的范圍。

在生成的隨機數后面加10,可以讓所有生成的隨機數都加10,從而使隨機數生成的區(qū)間范圍向右移動。

在生成的隨機數后面*10,可以讓所有生成的隨機數都擴大10倍,從而使隨機數生成的區(qū)間范圍擴大10倍。

小結

以上關于 Java 的 Random 的類的介紹就到這里,更多Java技術學習,請關注菜鳥自學java教程。

0 人點贊