Java ThreadLocalRandom 類的 nextDouble() 方法返回一個介於 0 和 1 之間的偽隨機雙精度值。該方法覆蓋了 Random 類中的 nextDouble。
用法:
public double nextDouble()
參數:
NA
返回值:
此方法返回一個介於 0 和 1 之間的偽隨機雙精度值。
示例
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomNextDoubleExample1 {
public static void main(String[] args) {
// Returns a pseudorandom double value between 0 and 1
System.out.println("Random double value is:" +ThreadLocalRandom.current().nextDouble());
}
}
輸出:
Random double value is:0.2967936086945462
Java ThreadLocalRandom nextDouble(double n) 方法
Java ThreadLocalRandom 類的 nextDouble(double n) 方法返回一個偽隨機數。它返回 0 和指定值之間均勻分布的雙精度值。
用法:
public double nextDouble(double n)
參數:
n:它是隨機數的界限。它必須是積極的。
返回值:
此方法返回下一個值。
異常:
IllegalArgumentException - 如果 n 不是正數,將拋出此異常。
例子1
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomNextDoubleExample2 {
public static void main(String[] args) {
// Returns a pseudorandom, uniformly distributed double value between 0 and 10000
System.out.println("Random double value is:" +ThreadLocalRandom.current().nextDouble(10000));
}
}
輸出:
Random double value is:172.58603834580222
例子2
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomNextDoubleExample3 {
public static void main(String[] args) {
// Returns a pseudorandom, uniformly distributed double value between 0 and 5000
System.out.println("Random double value is:" +ThreadLocalRandom.current().nextDouble(5000));
}
}
輸出:
Random double value is:3961.37003622182
例子3
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomNextDoubleExample4 {
public static void main(String[] args) {
// Returns exception because specified value is negative System.out.println("Random double value is:" +ThreadLocalRandom.current().nextDouble(-5000));
}
}
輸出:
Exception in thread "main" java.lang.IllegalArgumentException:bound must be positive at java.base/java.util.concurrent.ThreadLocalRandom.nextDouble(Unknown Source) at tests.JavaNextDoubleExample2.main(ThreadLocalRandomNextDoubleExample3.java:7)
Java ThreadLocalRandom nextDouble(double minimum, double bound) 方法
Java ThreadLocalRandom 類的 nextDouble(double least, double bound) 方法返回一個偽隨機數。它返回給定最小值和界限之間均勻分布的雙精度值。
用法:
public double nextDouble(double least, double bound)
參數:
least- 這是最小的值。
bound- 它是上限(獨占)。
返回值:
此方法返回下一個值。
異常:
IllegalArgumentException - 如果最小大於或等於邊界,則將拋出此異常。
例子1
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomNextDoubleExample5 {
public static void main(String[] args) {
// Returns a pseudorandom, uniformly distributed double value between 5000 and 7000
System.out.println("Random double value is:" +ThreadLocalRandom.current().nextDouble(5000, 7000));
}
}
輸出:
Random double value is:5240.122245986785
例子2
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomNextDoubleExample6 {
public static void main(String[] args) {
// Returns a pseudorandom, uniformly distributed double value between 10000 and 20000
System.out.println("Random double value is:" +ThreadLocalRandom.current().nextDouble(10000, 20000));
}
}
輸出:
Random double value is:17190.013525593356
例子3
import java.util.concurrent.ThreadLocalRandom;
public class ThreadLocalRandomNextDoubleExample7 {
public static void main(String[] args) {
// Returns exception because least value is greater than bound
System.out.println("Random double value is:" +ThreadLocalRandom.current().nextDouble(50000, 3000));
}
}
輸出:
Exception in thread "main" java.lang.IllegalArgumentException:bound must be greater than origin at java.base/java.util.concurrent.ThreadLocalRandom.nextDouble(Unknown Source) at tests.JavaNextDoubleExample2.main(ThreadLocalRandomNextDoubleExample3.java:7)
相關用法
- Java ThreadLocalRandom nextLong()用法及代碼示例
- Java ThreadLocalRandom nextGaussian()用法及代碼示例
- Java ThreadLocalRandom nextInt()用法及代碼示例
- Java ThreadLocalRandom longs()用法及代碼示例
- Java ThreadLocalRandom current()用法及代碼示例
- Java ThreadLocalRandom ints()用法及代碼示例
- Java ThreadLocalRandom setSeed()用法及代碼示例
- Java ThreadLocalRandom doubles()用法及代碼示例
- Java Thread toString()用法及代碼示例
- Java ThreadGroup enumerate()用法及代碼示例
- Java ThreadGroup getMaxPriority()用法及代碼示例
- Java ThreadGroup getParent()用法及代碼示例
- Java Thread interrupted()用法及代碼示例
- Java Thread setDefaultUncaughtExceptionHandler()用法及代碼示例
- Java Thread suspend()用法及代碼示例
- Java Thread destroy()用法及代碼示例
- Java Thread holdLock()用法及代碼示例
- Java Thread getContextClassLoader()用法及代碼示例
- Java Thread setContextClassLoader()用法及代碼示例
- Java ThreadGroup getName()用法及代碼示例
注:本文由純淨天空篩選整理自 Java ThreadLocalRandom nextDouble() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。