import java.util.Random; /** Generate random integers in a certain range. */ public final class RandomNumbersRange { public static final void main(String aArgs[]) { int START = 1; int END = 10; Random random = new Random(); for (int count = 1; count <= 10; ++count) { showRandomInteger(START, END, random); } } private static void showRandomInteger(int aStart, int aEnd, Random aRandom){ if ( aStart > aEnd ) { throw new IllegalArgumentException("Start cannot exceed End."); } //get the range, casting to long to avoid overflow problems long range = (long)aEnd - (long)aStart + 1; // compute a fraction of the range, 0 <= frac < range long fraction = (long)(range * aRandom.nextDouble()); int randomNumber = (int)(fraction + aStart); log("Generated : " + randomNumber); } private static void log(String aMessage){ System.out.println(aMessage); } }