官术网_书友最值得收藏!

3.6 java.util.Random類

很明顯,Random類用于產生隨機數。不過,在討論Random類之前,先了解一下Math.random()方法。

Math.random()方法會返回一個大于等于0.0但小于1.0的隨機數(double)。如果要求其他類型的隨機數,就需要進一步計算,例如,需要0~9之間的一個隨機整數,可以使用如下代碼。

    public static void main(String[] args) {
        int rnd = (int)(Math.random() * 10);
        System.out.println(rnd);
    }

使用Random類會讓代碼更加清晰,下面的代碼同樣獲取0~9之間的一個隨機數。

    public static void main(String[] args) {
        Random rand = new Random();
        int rnd = rand.nextInt(10);
        System.out.println(rnd);
    }

代碼中,必須創建Random類的實例才能來創建隨機數,其中使用了nextInt()方法的一個重載版本,其參數為一個整數。該方法會返回一個int類型的隨機數,其值大于等于0,且小于參數。

如果需要創建指定范圍的隨機數,可以使用如下代碼。

    public static void main(String[] args) {
        Random rand = new Random();
        int min = 5, max = 10;
        int rnd = rand.nextInt(max - min + 1) + min;
        System.out.println(rnd);
    }

代碼會生成一個大于等于5而且小于等于10的隨機數。

此外,Random類還定義了一系列如下的nextXXX()方法,用于返回各種類型的隨機數。

□ nextBoolean()方法,返回隨機的boolean類型數據。

□ nextInt()方法,返回隨機的int類型數據。

□ nextLong()方法,返回隨機的long類型數據。

□ nextFloat()方法,返回隨機的float類型數據。

□ nextDouble()方法,返回隨機的double類型數據。

實際應用中,如果代碼中需要大量的隨機數,可以定義一個全局的Random對象,然后調用相應的方法生成所需的隨機數。

主站蜘蛛池模板: 浮梁县| 临邑县| 永仁县| 息烽县| 遂昌县| 云浮市| 营口市| 南汇区| 鄄城县| 舞阳县| 宾阳县| 阿拉尔市| 晋江市| 东方市| 永靖县| 育儿| 木兰县| 韶关市| 泾川县| 金秀| 刚察县| 清原| 沙湾县| 岳阳市| 怀宁县| 独山县| 郯城县| 黎川县| 太湖县| 镇远县| 句容市| 丹凤县| 滕州市| 玛沁县| 闽清县| 镇康县| 长治县| 沁阳市| 新源县| 淮阳县| 大丰市|