Random類。 此類在CLDC1.0中已經定義。
1. 這個類有兩個構造函數Random() 和Random(long seed) 并且提供了四個常用方法:
next (int bits)
nextInt ()
nextLong ()
setSeed (long seed)
2. 實例:
Random.next(1),產生負“2的1次方”~“2的1次方”之間的隨機數(-2到2)
Random.next(2),產生負“2的2次方”~“2的2次方”之間的隨機數(-4到4)
Random.next(3),產生負“2的3次方”~“2的3次方”之間的隨機數(-8到8)
Random.next(4),產生負“2的4次方”~“2的4次方”之間的隨機數(-16到16)
Random.nextInt( n ); 產生一個 [0, n) 之間的隨機整數
Random.nextLong();用來產生隨機長整數,最大2的64次方
Random.setSeed(long seed); 用于設定隨機數的種子,即這里的seed
3. 代碼解析:

public static int getRandom(int min,int max)
{
int ran=Math.abs(random.nextInt());
int returnRan=ran%(max-min+1)+min;
return returnRan;
}
代碼中 int returnRan=ran%(max-min+1)+min 是:
把上面的隨機整數 random.nextInt(),絕對值Math.abs(random.nextInt()) 后
再來取模(即取余) ran% x, 產生一個[0-x]的隨機整數。
打個比方: ran = 100;
但是我要的隨機數是在3-10之間的,那么上面就會是
int returnRan=ran%8+3 ;
即:int returnRan=ran%(10-3+1)+3
解釋:
取余是從0-目的數之前的數。 如 x%m, 那么結果范圍是 [0, m-1],
所以,取0-m之間的隨機數,要 (random.nextInt()) %(m+1);
因為(random.nextInt())包括負值,再取一下絕對值,所以:
Math.abs(random.nextInt()) %(m+1);
例子:
int ran=Math.abs(random.nextInt());
1, 取0-3之間的隨機整數:ran%4 = ran%(3+1);
2, 取4-9之間的隨機整數:ran%6+4 = ran%(9-4+1)+4; 即,先產生0-5之間的隨機數,然后再加4;
<騎豬闖天下>