Let’s use the Math.random method to generate a random number in a given range:
public int getRandomNumber(int min, int max) {
return (int) ((Math.random() * (max - min)) + min);
}
Why does that work? Well, let’s look at what happens when Math.random returns 0.0, it’s the lowest possible output:
0.0 * (max – min) + min => min
So, the lowest number we can get is min.
If Math.random returns 1.0, it’s highest possible output, then we get:
1.0 * (max – min) + min => max – min + min => max
So, the highest number we can get is max.
Let’s see this same pattern repeated with Random#nextInt in the next section.