java.lang.Object | |
↳ | java.util.Random |
Known Direct Subclasses |
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.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a random generator with an initial state that is
unlikely to be duplicated by a subsequent instantiation.
| |||||||||||
Construct a random generator with the given
seed as the
initial state. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns a pseudo-random uniformly distributed
boolean . | |||||||||||
Fills
buf with random bytes. | |||||||||||
Returns a pseudo-random uniformly distributed
double
in the half-open range [0.0, 1.0). | |||||||||||
Returns a pseudo-random uniformly distributed
float
in the half-open range [0.0, 1.0). | |||||||||||
Returns a pseudo-random (approximately) normally distributed
double with mean 0.0 and standard deviation 1.0. | |||||||||||
Returns a pseudo-random uniformly distributed
int
in the half-open range [0, n). | |||||||||||
Returns a pseudo-random uniformly distributed
int . | |||||||||||
Returns a pseudo-random uniformly distributed
long . | |||||||||||
Modifies the seed using a linear congruential formula presented in The
Art of Computer Programming, Volume 2, Section 3.2.1.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns a pseudo-random uniformly distributed
int value of
the number of bits specified by the argument bits as
described by Donald E. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Constructs a random generator with an initial state that is unlikely to be duplicated by a subsequent instantiation.
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.
Returns a pseudo-random uniformly distributed boolean
.
Returns a pseudo-random uniformly distributed double
in the half-open range [0.0, 1.0).
Returns a pseudo-random uniformly distributed float
in the half-open range [0.0, 1.0).
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.
Returns a pseudo-random uniformly distributed int
in the half-open range [0, n).
Modifies the seed using a linear congruential formula presented in The Art of Computer Programming, Volume 2, Section 3.2.1.
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.