HOWTO · Java

在 Java 中的陣列中生成隨機雙精度數

如何在 java 中的陣列中生成隨機雙精度數

本頁內容

本文將介紹如何在 Java 陣列中生成隨機雙精度數。

使用 java.util.Random 類在 Java 陣列中生成隨機 double

在 Java 中,我們利用 java.util.Random 類的 nextDouble() 方法來生成一個隨機的雙精度陣列。此函式返回此隨機數生成器生成的下一個隨機雙精度值。

例子:

import java.util.Random;
public class RandomDoubles {
  public static void main(String[] args) {
    Random rd = new Random();
    double[] array = new double[3];
    for (int i = 0; i < array.length; i++) {
      array[i] = rd.nextDouble();
      System.out.println(array[i]);
    }
  }
}

在這裡,rd.nextDouble() 返回一個介於 0 和 1.0 之間的數字。

輸出:

0.6281807590035252
0.34456583017282394
0.23684352236085848

較短的版本

有一個較短的版本,可以執行與以下相同的操作。

例子:

import java.util.Random;
public class RandomDoubles {
  public static void main(String[] args) {
    Random rd = new Random();
    double[] array = rd.doubles(5, 10, 100).toArray();
  }
}

rd.doubles 方法的第一個引數採用陣列中所需的隨機雙精度數。並且,第二個和第三個引數採用生成隨機數的範圍的最小值和最大值。

輸出:

78.21950288465801 80.12875947698258 94.95442635507693 88.63415507060164 31.283712117527568

使用 ThreadLocalRandom 在 Java 陣列中生成隨機 double

我們還可以使用 ThreadLocalRandom 生成隨機雙精度數。

例子:

import java.util.concurrent.ThreadLocalRandom;
public class RandomDoubles {
  public static void main(String[] args) {
    double[] randoms = ThreadLocalRandom.current().doubles(5).toArray();
    for (double num : randoms) {
      System.out.println(num);
    }
  }
}

輸出:

0.5417255613845797
0.2522145088132569
0.42238415650855565
0.8432309480218088
0.13192651019478996