Home > Java > javaTutorial > How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

Linda Hamilton
Release: 2024-12-04 19:53:11
Original
376 people have browsed it

How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

Math.random() Manipulation: Generating Random Integers Within a Specified Range

The Java function Math.random() generates random numbers within the range [0, 1). However, there are situations where you may need to obtain random integers within a specific range. This article demonstrates how to achieve this using Math.random().

Intention to Generate a Random Integer Between Three and Five

While the statement "(int) Math.random() * 5 3" does not correctly generate random integers within the range [3, 5], it can be corrected using a custom method:

int randomWithRange(int min, int max) {
    int range = (max - min) + 1;
    return (int) (Math.random() * range) + min;
}
Copy after login

This method calculates the range of possible values, multiplies it by Math.random(), and adds the minimum value to ensure inclusivity.

Output Example

System.out.println(randomWithRange(3, 5));
// Output: 3
Copy after login

Idiot-Proofing for Incorrect Ordering

To prevent errors if min is greater than max, an updated method is:

int randomWithRange(int min, int max) {
    int range = Math.abs(max - min) + 1;
    return (int) (Math.random() * range) + (min <= max ? min : max);
}
Copy after login

Extensions for Double Random Number Generation

A similar method can be used to generate random double-precision numbers:

double randomWithRange(double min, double max) {
    double range = (max - min);
    return (Math.random() * range) + min;
}
Copy after login

Using this method:

System.out.println(randomWithRange(3.0, 5.0));
Copy after login

The above is the detailed content of How to Generate Random Integers (and Doubles) Within a Specific Range in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template