Random - JRE Emulation | JRE Emulation
public class

Random

extends Object
implements Serializable
java.lang.Object
   ↳ java.util.Random
Known Direct Subclasses

Class Overview

This class provides methods that return pseudo-random values.

It is dangerous to seed Random with the current time because that value is more predictable to an attacker than the default seed.

This class is thread-safe.

See Also

Summary

Public Constructors
Random()
Constructs a random generator with an initial state that is unlikely to be duplicated by a subsequent instantiation.
Random(long seed)
Construct a random generator with the given seed as the initial state.
Public Methods
boolean nextBoolean()
Returns a pseudo-random uniformly distributed boolean.
void nextBytes(byte[] buf)
Fills buf with random bytes.
double nextDouble()
Returns a pseudo-random uniformly distributed double in the half-open range [0.0, 1.0).
float nextFloat()
Returns a pseudo-random uniformly distributed float in the half-open range [0.0, 1.0).
synchronized double nextGaussian()
Returns a pseudo-random (approximately) normally distributed double with mean 0.0 and standard deviation 1.0.
int nextInt()
Returns a pseudo-random uniformly distributed int.
int nextInt(int n)
Returns a pseudo-random uniformly distributed int in the half-open range [0, n).
long nextLong()
Returns a pseudo-random uniformly distributed long.
synchronized void setSeed(long seed)
Modifies the seed using a linear congruential formula presented in The Art of Computer Programming, Volume 2, Section 3.2.1.
Protected Methods
synchronized int next(int bits)
Returns a pseudo-random uniformly distributed int value of the number of bits specified by the argument bits as described by Donald E.
Inherited Methods
[Expand]
From class java.lang.Object

Public Constructors

public Random ()

Constructs a random generator with an initial state that is unlikely to be duplicated by a subsequent instantiation.

public Random (long seed)

Construct a random generator with the given seed as the initial state. Equivalent to Random r = new Random(); r.setSeed(seed);.

This constructor is mainly useful for predictability in tests. The default constructor is likely to provide better randomness.

Public Methods

public boolean nextBoolean ()

Returns a pseudo-random uniformly distributed boolean.

public void nextBytes (byte[] buf)

Fills buf with random bytes.

public double nextDouble ()

Returns a pseudo-random uniformly distributed double in the half-open range [0.0, 1.0).

public float nextFloat ()

Returns a pseudo-random uniformly distributed float in the half-open range [0.0, 1.0).

public synchronized double nextGaussian ()

Returns a pseudo-random (approximately) normally distributed double with mean 0.0 and standard deviation 1.0. This method uses the polar method of G. E. P. Box, M. E. Muller, and G. Marsaglia, as described by Donald E. Knuth in The Art of Computer Programming, Volume 2: Seminumerical Algorithms, section 3.4.1, subsection C, algorithm P.

public int nextInt ()

Returns a pseudo-random uniformly distributed int.

public int nextInt (int n)

Returns a pseudo-random uniformly distributed int in the half-open range [0, n).

public long nextLong ()

Returns a pseudo-random uniformly distributed long.

public synchronized void setSeed (long seed)

Modifies the seed using a linear congruential formula presented in The Art of Computer Programming, Volume 2, Section 3.2.1.

Protected Methods

protected synchronized int next (int bits)

Returns a pseudo-random uniformly distributed int value of the number of bits specified by the argument bits as described by Donald E. Knuth in The Art of Computer Programming, Volume 2: Seminumerical Algorithms, section 3.2.1.

Most applications will want to use one of this class' convenience methods instead.

Subclasses only need to override this method to alter the behavior of all the public methods.