Random Integers Over an Integer Interval

Random Integers Over an Integer Interval

The java.util.Random class has a public int nextInt() method that returns a randomly selected integer, but there is no innate method in that class to create a random number over an integer interval, say [x,y].
However, you can use the public double nextDouble() method of the Random class to obtain a random double between 0.0 and 1.0, and then project the position of the obtained double from the [0.0, 1.0] interval to the interval [x,y]. The following code shows you how:

 public static int getIntRandomOnRange(int lower, int upper) {        //obtain the number of values in your interval     int range = (upper - lower) + 1;        Random aRandom = new Random();      // get a random double between 0.0 and 1.0    double aDouble = aRandom .nextDouble();        // multiply by the range of your interval    aDouble *= range;        // add the smallest integer value of your interval    aDouble += lower;    //drop the decimal value    aDouble = Math.floor(aDouble);    // account for the case adding one may send aDouble above you interval    if (aDouble > upper) aDouble = upper;        // cast aDouble into an int and return    int anInt = (int)aDouble;    return anInt;}
See also  Essential Measures for Safeguarding Your Digital Data

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist