// random numbers // Originally by Raju Rohde from Spring 2000 public class random { public static void main(String[] args) { /**************************************************************** * Math.random() returns a random floating point number between * * 0.0 (inclusive) and 1.0 (exclusive). * **************************************************************** * SYNTAX: double r = Math.random(); * * NOTATION: r is [0,1) or 0<=r<1 * **************************************************************** * Need to SCALE and SHIFT into an appropriate range * * Need CASTing to produce Integer random numbers * * scaling: * * Math.random()*N; // [0.0,N) * * shifting: * * Math.random()+N; // [N,N+1) * * casting: * * (int) (Math.random()*N); // [0,N-1) * ****************************************************************/ /**************************************************************** * EXAMPLES: * ****************************************************************/ // (1) Produce a double random number in the range [1.0,6.0): double rnd1 = Math.random()*5 + 1; // (2) Produce an integer random number 0 or 1: int rnd2 = (int) (Math.random()*2); // (3) Produce an integer random number 1, 2, 3, or 4: int rnd = (int) (Math.random()*4) + 1; } }