当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java ThreadLocalRandom nextDouble()用法及代码示例


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 nextDouble() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。