Java.lang 套件中的 Math 類別就定義了一個方法 random(),這個方法可以產生亂數,其型態為 double 。
亂數的產生有一個範圍,它介於 0~1 之間,但是不等於 1 。
求 0~9 之間的亂數
int i = 0;
i = (int)(Math.random()*10);
解說:我們產生 0~9 之間的亂數,是將產生亂數值乘以 10 。
因為該數所得最小值是 0 ,最大值是 0.999999999999 永遠不會到1,所以再大值乘上 10 後 也不是得到 10。
求 1~100 之間的亂數
int i = 0;
i = (int)(Math.random()*100)+1;
由上例中可以明白知道,它最小值是 0 ,最大值則是 99。加上 1 就可以得到 1~100 間的亂數了。
求 20~40 之間的亂數
套公式可以方便寫作,X~Y的範圍 ( X 為亂數範圍的起始值,而 Y 為亂數值範圍的終止值)
(int)(Math.random() * (Y-X+1)) + X;
此例代入
(int)(Math.random()*(40-20+1))+20;
這樣我們就可以取出任意範圍的值了。