Java Reference
In-Depth Information
Generating Random Numbers
We have already used the Random class a little, but let's investigate this in more detail. The class
Random enables you to create multiple random number generators that are independent of one another.
Each object of the class is a separate random number generator. Any Random object can generate
pseudo-random numbers of types int , long , float , or double . These numbers are created using an
algorithm that takes a 'seed' and 'grows' a sequence of numbers from it. Initializing the algorithm twice
with the same seed would produce the same sequence because the algorithm is deterministic.
The integer values generated will be uniformly distributed over the complete range for the type, and the
floating point values will be uniformly distributed over the range 0.0 to 1.0 for both types. You can also
generate numbers of type double with a Gaussian (or normal) distribution that has a mean of 0.0 and a
standard deviation of 1.0. This is the typical bell-shaped curve that represents the probability
distribution for many random events.
0.345
double
gaussian
23
int
0.769
double
997L
long
0.178f
float
An object of the class
Random
There are two constructors for a Random object. The default constructor will create an object that uses
the current time from your computer clock as the seed value for generating pseudo-random numbers.
The other constructor accepts an argument of type long that will be used as the seed.
Random lottery = new Random(); // Sequence not repeatable
Random repeatable = new Random(997L); // Repeatable sequence
Search WWH ::




Custom Search