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;}