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


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


Java ThreadLocalRandom 类的 doubles() 方法返回一个有效无限的伪随机双精度值流。每个值必须介于 0 和 1 之间。此方法覆盖 Random 类中的双精度值。

用法:

public DoubleStream doubles()

参数:

NA

返回值:

此方法返回伪随机双精度值流。

示例

import java.util.concurrent.ThreadLocalRandom;

public class ThreadLocalRandomDoublesExample1 {
    public static void main(String[] args) {
    	
    	// Returns a stream of pseudorandom double values   	
    	System.out.println("stream of pseudorandom double value is:" +ThreadLocalRandom.current().doubles());
    }
}

输出:

stream of pseudorandom double value is:[email protected]

Java ThreadLocalRandom doubles(long streamSize) 方法

Java ThreadLocalRandom 类的 doubles(long streamSize) 方法返回一个流,该流产生给定的 streamSize 数量的伪随机双精度值。每个值必须符合给定的 0(含)和 1(不含)。此方法覆盖 Random 类中的双精度数。

用法:

public DoubleStream doubles(long streamSize)

参数:

streamSize- 它是要生成的值的数量

返回值:

此方法返回双精度值流。

异常:

IllegalArgumentException:如果 streamSize 小于零,将抛出此异常。

例子1

import java.util.concurrent.ThreadLocalRandom;

public class ThreadLocalRandomDoublesExample2 {
    public static void main(String[] args) {
    	
    	// Returns a stream of double values   	
    	System.out.println("stream of double value is:" +ThreadLocalRandom.current().doubles(100));
    }
}

输出:

stream of double value is:[email protected]

例子2

import java.util.concurrent.ThreadLocalRandom;

public class ThreadLocalRandomDoublesExample3 {
    public static void main(String[] args) {
    	
    	// Returns exception because streamSize is negative 
    	System.out.println("stream of double value is:" +ThreadLocalRandom.current().doubles(-20));
    }
}

输出:

Exception in thread "main" java.lang.IllegalArgumentException:size must be non-negative
	at java.base/java.util.concurrent.ThreadLocalRandom.doubles(Unknown Source)
	at tests.JavaNextIntExample1.main(ThreadLocalRandomDoublesExample2.java:8)

Java ThreadLocalRandom doubles(double randomNumberOrigin, double randomNumberBound) 方法

Java ThreadLocalRandom 类的 doubles(double randomNumberOrigin, double randomNumberBound) 方法返回伪随机双精度值的有效无限流。每个值必须符合给定的原点(包含)和边界(不包含)。此方法覆盖 Random 类中的双精度数。

用法:

public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)

参数:

randomNumberOrigin:它是每个随机值的原点(含)。

randomNumberBound:它是每个随机值的界限(不包括)。

返回值:

此方法返回伪随机双精度值流。

异常:

IllegalArgumentException:如果 randomNumberOrigin 大于或等于 randomNumberBound,则会抛出此异常。

例子1

import java.util.concurrent.ThreadLocalRandom;

public class ThreadLocalRandomDoublesExample4 {
    public static void main(String[] args) {
    	
    	// Returns a stream of pseudorandom double values   	
    	System.out.println("stream of pseudorandom double value is:" +ThreadLocalRandom.current().doubles(20, 30));
    }
}

输出:

stream of pseudorandom double value is:[email protected]

例子2

import java.util.concurrent.ThreadLocalRandom;

public class ThreadLocalRandomDoublesExample5 {
    public static void main(String[] args) {
    	
    	// Returns exception because origin is greater than bound  	
    	System.out.println("stream of pseudorandom double value is:" +ThreadLocalRandom.current().doubles(30, 10));
    }
}

输出:

Exception in thread "main" java.lang.IllegalArgumentException:bound must be greater than origin
	at java.base/java.util.concurrent.ThreadLocalRandom.doubles(Unknown Source)
	at tests.JavaNextIntExample.main(ThreadLocalRandomDoublesExample2.java:7)

Java ThreadLocalRandom doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 方法

Java ThreadLocalRandom 类的 doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 方法返回一个流,该流产生给定的 streamSize 数量的伪随机双精度值。每个值必须符合给定的原点(包含)和边界(不包含)。此方法覆盖 Random 类中的双精度数。

用法:

public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)

参数:

streamSize- 它是要生成的值的数量

randomNumberOrigin- 是每个随机值的原点(含)

randomNumberBound- 它是每个随机值的界限(不包括)

返回值:

此方法返回伪随机双精度值流。

异常:

  1. IllegalArgumentException: 如果 streamSize 小于零,将抛出此异常。
  2. IllegalArgumentException: 如果 randomNumberOrigin 大于或等于 randomNumberBound,则会抛出此异常。

例子1

import java.util.concurrent.ThreadLocalRandom;

public class ThreadLocalRandomDoublesExample6 {
    public static void main(String[] args) {
    	
    	// Returns a stream of pseudorandom double values   	
    	System.out.println("stream of pseudorandom double value is:" +ThreadLocalRandom.current().doubles(10, 20, 30));
    }
}

输出:

stream of pseudorandom double value is:[email protected]

例子2

import java.util.concurrent.ThreadLocalRandom;

public class ThreadLocalRandomDoublesExample7 {
    public static void main(String[] args) {
    	
    	// Returns exception because steamSize is negative   	
    	System.out.println("stream of pseudorandom double value is:" +ThreadLocalRandom.current().doubles(-10, 20, 30));
    }
}

输出:

Exception in thread "main" java.lang.IllegalArgumentException:size must be non-negative
	at java.base/java.util.concurrent.ThreadLocalRandom.doubles(Unknown Source)
	at tests.JavaNextIntExample1.main(ThreadLocalRandomDoublesExample2.java:7)






相关用法


注:本文由纯净天空筛选整理自 Java ThreadLocalRandom doubles() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。