- すべての実装されたインタフェース:
Serializable
- 直系の既知のサブクラス:
SecureRandom
,ThreadLocalRandom
2つのRandom
インスタンスが同じシードで生成されている場合、それぞれに対して同じシーケンスでメソッド呼出しを行うと、同じシーケンスで数値が生成され返されます。 この特性を保証するために、Random
クラスには固有のアルゴリズムが指定されています。 Javaコードの絶対的な移植性の保持のために、Javaの実装はここに示されているRandom
クラスのアルゴリズムをすべて使用する必要があります。 ただし、Random
クラスのサブクラスは、すべてのメソッドの一般規約に準拠したものであればほかのアルゴリズムも使用できます。
Random
クラスによって実装されるアルゴリズムでは、各呼出しで擬似乱数的に生成された最大32ビットを提供できるprotected
ユーティリティ・メソッドが使用されます。
多くのアプリケーションの場合、Math.random()
メソッドを使うほうが簡単です。
java.util.Random
のインスタンスはスレッド・セーフです。 ただし、複数のスレッドで同じjava.util.Random
インスタンスを並行して使用すると、競合が発生してパフォーマンスが低下する可能性があります。 マルチ・スレッド設計では、代わりにThreadLocalRandom
を使用することを検討してください。
java.util.Random
のインスタンスには安全な暗号化が施されていません。 セキュリティ保護を必要とするアプリケーションで使用するために安全な暗号化の施された擬似乱数ジェネレータを取得するには、代わりにSecureRandom
を使用することを検討してください。
- 導入されたバージョン:
- 1.0
- 関連項目:
- 直列化された形式
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明doubles()
0(含む)から1(含まない)までの擬似乱数double
値を含む、事実上無制限のストリームを返します。doubles(double randomNumberOrigin, double randomNumberBound)
指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を含む、事実上無制限のストリームを返します。doubles(long streamSize)
0(含む)から1(含まない)までの擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。ints()
擬似乱数int
値を含む、事実上無制限のストリームを返します。ints(int randomNumberOrigin, int randomNumberBound)
指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を含む、事実上無制限のストリームを返します。ints(long streamSize)
擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。longs()
擬似乱数long
値を含む、事実上無制限のストリームを返します。longs(long streamSize)
擬似乱数long
値を、指定されたstreamSize
数だけ生成するストリームを返します。longs(long randomNumberOrigin, long randomNumberBound)
指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
値を含む、事実上無制限のストリームを返します。longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
を、指定されたstreamSize
数だけ生成するストリームを返します。protected int
next(int bits)
次の擬似乱数を生成します。boolean
この乱数ジェネレータのシーケンスを使って、一様分布のboolean
型の次の擬似乱数値を返します。void
nextBytes(byte[] bytes)
ランダム・バイトを生成し、ユーザー指定のバイト配列に配置します。double
この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のdouble
型の次の擬似乱数値を返します。float
この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のfloat
型の次の擬似乱数値を返します。double
この乱数ジェネレータのシーケンスを使って、平均0.0
、標準偏差1.0
のガウス(「正規」)分布のdouble
型の擬似乱数値を返します。int
nextInt()
この乱数ジェネレータのシーケンスを使って、一様分布のint
型の次の擬似乱数値を返します。int
nextInt(int bound)
この乱数ジェネレータのシーケンスを使って、0から指定された値の範囲(0は含むが、その指定された値は含まない)で一様分布のint
型の擬似乱数値を返します。long
nextLong()
この乱数ジェネレータのシーケンスを使って、一様分布のlong
型の次の擬似乱数値を返します。void
setSeed(long seed)
単一のlong
型のシードを使って、この乱数ジェネレータのシードを設定します。
-
コンストラクタの詳細
-
Random
public Random()新規乱数ジェネレータを作成します。 このコンストラクタは、乱数ジェネレータのシードを、このコンストラクタの他の呼び出しと区別可能な値に設定します。 -
Random
public Random(long seed)単一のlong
型のシードを使って、新しい乱数ジェネレータを作成します。 シードは、擬似乱数ジェネレータの内部状態の初期値で、next(int)
メソッドによって保守されます。呼び出し
new Random(seed)
は次と等価です。Random rnd = new Random(); rnd.setSeed(seed);
- パラメータ:
seed
- 初期シード- 関連項目:
setSeed(long)
-
-
メソッドの詳細
-
setSeed
public void setSeed(long seed)単一のlong
型のシードを使って、この乱数ジェネレータのシードを設定します。setSeed
の一般規約では、シードとして引数seed
を使って作成されたばかりの状態と同じになるように、この乱数ジェネレータ・オブジェクトの状態を変更します。Random
クラスによるsetSeed
メソッドの実装では、シードを次のように原始的に更新します。
また、(seed ^ 0x5DEECE66DL) & ((1L << 48) - 1)
nextGaussian()
によって使用されるhaveNextNextGaussian
フラグをクリアします。Random
クラスによるsetSeed
の実装は、指定されたシードの48ビットだけを使用しています。 ただし一般には、オーバーライドするメソッドは、long
引数の64ビットすべてをシード値として使用できます。- パラメータ:
seed
- 初期シード
-
next
protected int next(int bits)次の擬似乱数を生成します。 このメソッドは、ほかのすべてのメソッドによって使われるので、サブクラスによってオーバーライドされます。next
の一般規約では、int
型の値を返し、引数bits
が1
-32
(1と32を含む)の範囲の場合は、戻り値の多くの下位ビットが(ほぼ)独立に選択されたビット値になり、それぞれの値は(ほぼ)均等に0
または1
になります。Random
クラスによるnext
メソッドの実装では、シードを
に原始的に更新し、次の値を返します。(seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1)
これは、D. H. Lehmerによって定義された、線形合同擬似乱数ジェネレータです。 Knuth著『The Art of Computer Programming, Volume 2: Seminumerical Algorithms』のセクション3.2.1。(int)(seed >>> (48 - bits))
.- パラメータ:
bits
- ランダム・ビット- 戻り値:
- この乱数ジェネレータのシーケンスに基づく次の擬似乱数値
- 導入されたバージョン:
- 1.1
-
nextBytes
public void nextBytes(byte[] bytes)ランダム・バイトを生成し、ユーザー指定のバイト配列に配置します。 作成されるランダム・バイトの数は、バイト配列の長さと等しくなります。Random
クラスによるnextBytes
メソッドの実装は、次と同等です。public void nextBytes(byte[] bytes) { for (int i = 0; i < bytes.length; ) for (int rnd = nextInt(), n = Math.min(bytes.length - i, 4); n-- > 0; rnd >>= 8) bytes[i++] = (byte)rnd; }
- パラメータ:
bytes
- 乱数バイトを格納するバイト配列- 例外:
NullPointerException
- バイト配列がnullである場合- 導入されたバージョン:
- 1.1
-
nextInt
public int nextInt()この乱数ジェネレータのシーケンスを使って、一様分布のint
型の次の擬似乱数値を返します。nextInt
の一般規約では、1つのint
型の値が擬似乱数として生成されて返されます。 232個のすべての可能なint
値が(ほぼ)均等な確率で生成されます。Random
クラスによるnextInt
メソッドの実装は、次と同等です。public int nextInt() { return next(32); }
- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、一様分布の
int
型の次の擬似乱数値
-
nextInt
public int nextInt(int bound)この乱数ジェネレータのシーケンスを使って、0から指定された値の範囲(0は含むが、その指定された値は含まない)で一様分布のint
型の擬似乱数値を返します。nextInt
の一般規約では、指定された範囲内の1つのint
型の値が擬似乱数として生成されて返されます。bound
個のすべての可能なint
値が(ほぼ)均等な確率で生成されます。nextInt(int bound)
メソッドは、Random
クラスによって次のように実装されます。public int nextInt(int bound) { if (bound <= 0) throw new IllegalArgumentException("bound must be positive"); if ((bound & -bound) == bound) // i.e., bound is a power of 2 return (int)((bound * (long)next(31)) >> 31); int bits, val; do { bits = next(31); val = bits % bound; } while (bits - val + (bound-1) < 0); return val; }
上記の説明で「ほぼ」という言葉を使用しているのは、nextメソッドが単にほとんど無関係に選択されたビットの中立的なソースだからです。 ランダムに選択されたビットの完全なソースであるとすれば、示されたアルゴリズムは指定された範囲から完全な一貫性で
int
型の値を選択することになります。このアルゴリズムは多少扱いづらい面があります。 このアルゴリズムは一様でない分布になる値を拒絶します(2^31がnで割れないことによる)。 値が拒絶される確率はnによって異なります。 最悪のケースはn=2^30+1で、この場合、拒絶の確率は1/2になり、ループが強制終了するまでの予想される反復回数は2回です。
このアルゴリズムは、nが2の累乗であるケースを特別に処理します。このアルゴリズムは、基になる擬似乱数ジェネレータから適切な数の上位ビットを返します。 特別な処理がない場合は、適切な数の下位ビットが返されます。 このクラスで実装されているような線形合同擬似乱数ジェネレータは、下位ビットの値のシーケンスで周期が短いことが知られています。 そのため、この特別なケースでは、nが2の小さな累乗である場合、このメソッドの連続した呼出しによって返される値のシーケンスの長さが大幅に長くなります。
- パラメータ:
bound
- 上限(含まない)。 正の値でなければならない- 戻り値:
- この乱数ジェネレータのシーケンスを使った、0(含む)から
bound
(含まない)の範囲で一様分布の、int
型の次の擬似乱数値 - 例外:
IllegalArgumentException
- boundが正でない場合- 導入されたバージョン:
- 1.2
-
nextLong
public long nextLong()この乱数ジェネレータのシーケンスを使って、一様分布のlong
型の次の擬似乱数値を返します。nextLong
の一般規約では、1つのlong
型の値が擬似乱数として生成されて返されます。Random
クラスによるnextLong
メソッドの実装は、次と同等です。public long nextLong() { return ((long)next(32) << 32) + next(32); }
Random
クラスは48ビットのみを含むシードを使用するため、このアルゴリズムは可能なすべてのlong
値の一部しか返しません。- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、一様分布の
long
型の次の擬似乱数値
-
nextBoolean
public boolean nextBoolean()この乱数ジェネレータのシーケンスを使って、一様分布のboolean
型の次の擬似乱数値を返します。nextBoolean
の一般規約では、1つのboolean
型の値が擬似乱数として生成されて返されます。 値true
とfalse
が(ほぼ)均等な確率で生成されます。Random
クラスによるnextBoolean
メソッドの実装は、次と同等です。public boolean nextBoolean() { return next(1) != 0; }
- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、一様分布の
boolean
型の次の擬似乱数値 - 導入されたバージョン:
- 1.2
-
nextFloat
public float nextFloat()この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のfloat
型の次の擬似乱数値を返します。nextFloat
の一般規約では、0.0f
から1.0f
の範囲(0.0fは含むが、1.0fは含まない)から(ほぼ)均等な確率で選択された1つのfloat
値が擬似乱数として生成されて返されます。 形式m x 2-24(mは224未満の正の整数)の、224個のすべての可能なfloat
値が(ほぼ)均等な確率で生成されます。Random
クラスによるnextFloat
メソッドの実装は、次と同等です。public float nextFloat() { return next(24) / ((float)(1 << 24)); }
上記の説明で「ほぼ」という言葉を使用しているのは、nextメソッドが単にほとんど無関係に選択されたビットの中立的なソースだからです。 ランダムに選択されたビットの完全なソースであるとすれば、示されたアルゴリズムは指定された範囲から完全な一貫性で
float
型の値を選択することになります。[以前のバージョンのJavaでは、結果は次のように誤って計算されました。
return next(30) / ((float)(1 << 30));
- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、
0.0
から1.0
の範囲の一様分布のfloat
型の次の擬似乱数値
-
nextDouble
public double nextDouble()この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のdouble
型の次の擬似乱数値を返します。nextDouble
の一般規約では、0.0d
から1.0d
の範囲(0.0fは含むが、1.0fは含まない)から(ほぼ)均等な確率で選択された1つのdouble
値が擬似乱数として生成されて返されます。Random
クラスによるnextDouble
メソッドの実装は、次と同等です。public double nextDouble() { return (((long)next(26) << 27) + next(27)) / (double)(1L << 53); }
上記の説明で「ほぼ」という言葉を使用しているのは、独立して選択されたビットのソースとして
next
メソッドが偏りがないのは、近似的にのみ成立するからです。 ランダムに選択されたビットの完全なソースであるとすれば、示されたアルゴリズムは指定された範囲から完全な一貫性でdouble
型の値を選択することになります。[以前のバージョンのJavaでは、結果は次のように誤って計算されました。
return (((long)next(27) << 27) + next(27)) / (double)(1L << 54);
- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、
0.0
から1.0
の範囲の一様分布のdouble
型の次の擬似乱数値 - 関連項目:
Math.random()
-
nextGaussian
public double nextGaussian()この乱数ジェネレータのシーケンスを使って、平均0.0
、標準偏差1.0
のガウス(「正規」)分布のdouble
型の擬似乱数値を返します。nextGaussian
の一般規約では、平均0.0
、標準偏差1.0
のほぼ通常の正規分布から選択された1つのdouble
値が、擬似乱数として生成されて返されます。Random
クラスによるnextGaussian
メソッドの実装は、次のスレッド・セーフなバージョンと同等です。private double nextNextGaussian; private boolean haveNextNextGaussian = false; public double nextGaussian() { if (haveNextNextGaussian) { haveNextNextGaussian = false; return nextNextGaussian; } else { double v1, v2, s; do { v1 = 2 * nextDouble() - 1; // between -1.0 and 1.0 v2 = 2 * nextDouble() - 1; // between -1.0 and 1.0 s = v1 * v1 + v2 * v2; } while (s >= 1 || s == 0); double multiplier = StrictMath.sqrt(-2 * StrictMath.log(s)/s); nextNextGaussian = v2 * multiplier; haveNextNextGaussian = true; return v1 * multiplier; } }
StrictMath.log
とStrictMath.sqrt
の1回ずつの呼び出しだけで2つの別々の値を生成することに注意してください。- 戻り値:
- この乱数ジェネレータのシーケンスを使った、平均
0.0
、標準偏差1.0
のガウス(「正規」)分布のdouble
型の次の擬似乱数値
-
ints
public IntStream ints(long streamSize)擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。メソッド
nextInt()
呼び出しの結果と同様に、擬似乱数int
値が生成されます。- パラメータ:
streamSize
- 生成する値の数- 戻り値:
- 擬似乱数
int
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合- 導入されたバージョン:
- 1.8
-
ints
public IntStream ints()擬似乱数int
値を含む、事実上無制限のストリームを返します。メソッド
nextInt()
呼び出しの結果と同様に、擬似乱数int
値が生成されます。- 実装上のノート:
- このメソッドは、
ints(Long.MAX_VALUE)
と同等であるように実装されます。 - 戻り値:
- 擬似乱数
int
値のストリーム - 導入されたバージョン:
- 1.8
-
ints
public IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
int
値が生成されます。int nextInt(int origin, int bound) { int n = bound - origin; if (n > 0) { return nextInt(n) + origin; } else { // range not representable as int int r; do { r = nextInt(); } while (r < origin || r >= bound); return r; } }
- パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
int
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合、またはrandomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
ints
public IntStream ints(int randomNumberOrigin, int randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を含む、事実上無制限のストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
int
値が生成されます。int nextInt(int origin, int bound) { int n = bound - origin; if (n > 0) { return nextInt(n) + origin; } else { // range not representable as int int r; do { r = nextInt(); } while (r < origin || r >= bound); return r; } }
- 実装上のノート:
- このメソッドは、
ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)
と同等であるように実装されます。 - パラメータ:
randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
int
値のストリーム - 例外:
IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
longs
public LongStream longs(long streamSize)擬似乱数long
値を、指定されたstreamSize
数だけ生成するストリームを返します。メソッド
nextLong()
呼び出しの結果と同様に、擬似乱数long
値が生成されます。- パラメータ:
streamSize
- 生成する値の数- 戻り値:
- 擬似乱数
long
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合- 導入されたバージョン:
- 1.8
-
longs
public LongStream longs()擬似乱数long
値を含む、事実上無制限のストリームを返します。メソッド
nextLong()
呼び出しの結果と同様に、擬似乱数long
値が生成されます。- 実装上のノート:
- このメソッドは、
longs(Long.MAX_VALUE)
と同等であるように実装されます。 - 戻り値:
- 擬似乱数
long
値のストリーム - 導入されたバージョン:
- 1.8
-
longs
public LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
を、指定されたstreamSize
数だけ生成するストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
long
値が生成されます。long nextLong(long origin, long bound) { long r = nextLong(); long n = bound - origin, m = n - 1; if ((n & m) == 0L) // power of two r = (r & m) + origin; else if (n > 0L) { // reject over-represented candidates for (long u = r >>> 1; // ensure nonnegative u + m - (r = u % n) < 0L; // rejection check u = nextLong() >>> 1) // retry ; r += origin; } else { // range not representable as long while (r < origin || r >= bound) r = nextLong(); } return r; }
- パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
long
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合、またはrandomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
longs
public LongStream longs(long randomNumberOrigin, long randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
値を含む、事実上無制限のストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
long
値が生成されます。long nextLong(long origin, long bound) { long r = nextLong(); long n = bound - origin, m = n - 1; if ((n & m) == 0L) // power of two r = (r & m) + origin; else if (n > 0L) { // reject over-represented candidates for (long u = r >>> 1; // ensure nonnegative u + m - (r = u % n) < 0L; // rejection check u = nextLong() >>> 1) // retry ; r += origin; } else { // range not representable as long while (r < origin || r >= bound) r = nextLong(); } return r; }
- 実装上のノート:
- このメソッドは、
longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)
と同等であるように実装されます。 - パラメータ:
randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
long
値のストリーム - 例外:
IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles(long streamSize)0(含む)から1(含まない)までの擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。メソッド
nextDouble()
の呼出しの結果と同様に、擬似乱数double
値が生成されます。- パラメータ:
streamSize
- 生成する値の数- 戻り値:
double
値のストリーム- 例外:
IllegalArgumentException
-streamSize
が0未満の場合- 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles()0(含む)から1(含まない)までの擬似乱数double
値を含む、事実上無制限のストリームを返します。メソッド
nextDouble()
の呼出しの結果と同様に、擬似乱数double
値が生成されます。- 実装上のノート:
- このメソッドは、
doubles(Long.MAX_VALUE)
と同等であるように実装されます。 - 戻り値:
- 擬似乱数
double
値のストリーム - 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
double
値が生成されます。double nextDouble(double origin, double bound) { double r = nextDouble(); r = r * (bound - origin) + origin; if (r >= bound) // correct for rounding r = Math.nextDown(bound); return r; }
- パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と限界(含まない)が指定された、擬似乱数
double
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を含む、事実上無制限のストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
double
値が生成されます。double nextDouble(double origin, double bound) { double r = nextDouble(); r = r * (bound - origin) + origin; if (r >= bound) // correct for rounding r = Math.nextDown(bound); return r; }
- 実装上のノート:
- このメソッドは、
doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)
と同等であるように実装されます。 - パラメータ:
randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と限界(含まない)が指定された、擬似乱数
double
値のストリーム - 例外:
IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-