// 两种生成对象方式:带种子和不带种子(两种方式的区别见注解)
Random random = new Random();
Integer res = random.nextInt(n);
1
2
3
Integer res = (int)(Math.random() * n);
1
3、jdk源码
// random.nextInt(n)publicintnextInt(int n) {
if (n <= 0)
thrownew IllegalArgumentException("n must be positive");
if ((n & -n) == n) // i.e., n is a power of 2return (int)((n * (long)next(31)) >> 31);
int bits, val;
do {
bits = next(31);
val = bits % n;
} while (bits - val + (n-1) < 0);
return val;
}
@Test
publicvoidcreateProjectNo() {
Random r1 = new Random(100);
Random r2 = new Random(100);
for (int i = 0; i < 100; i ++) {
System.out.println(r1.nextInt(10)+", "+r2.nextInt(10));
}
}