總結了一下java.util.Random類的使用。
import java.util.Random;
class TestRandom {
public static void main(String[] args) {
Random random1 = new Random(100);
System.out.println(random1.nextInt());
System.out.println(random1.nextInt());
System.out.println(random1.nextFloat());
System.out.println(random1.nextFloat());
System.out.println(random1.nextBoolean());
System.out.println(random1.nextBoolean());
Random random2 = new Random(100);
System.out.println(random2.nextInt());
System.out.println(random2.nextInt());
System.out.println(random2.nextFloat());
System.out.println(random2.nextFloat());
System.out.println(random2.nextBoolean());
System.out.println(random2.nextBoolean());
}
}
輸出結果如下:
-1193959466
-1139614796
0.19497603
0.7158033
true
false
-1193959466
-1139614796
0.19497603
0.7158033
true
false
注釋:
1:如果2個Random對象使用相同的種子(比如都是100),並且以相同的順序調用相同的函數,那麼它們的返回值完全相同。
2:如果希望將返回的隨機數控制在某個范圍內(比如0~99),則可以使用模數運算符%
import java.util.Random;
class TestRandom {
public static void main(String[] args) {
Random random = new Random();
for (int i = 0; i < 100; i++) {
System.out.println(Math.abs(random.nextInt()) % 100);
}
}
}
注釋:
1:將模數運算符%作用於隨機數產生器所產生的隨機數身上,目的是為了讓隨機數的最大值局限於我們所制定的操作數數值減1范圍內。
2:如上面代碼就將輸入控制在0~99的范圍內,注意:如果不加Math.abs(),輸出范圍將是-99~99。