1、java.util.Random
import java.util.Random;
public class Test {
public static void main(String[] args) {
//使用种子为10的Random对象生成[0,10)内随机整数
Random random1 = new Random(10);
System.out.println(random1.nextInt(10));
//使用种子缺省是当前系统时间的毫秒数的Random对象生成[0,20)内随机整数
Random random2 = new Random();
System.out.println(random2.nextInt(20));
}
}
对于种子相同的不同Random对象,生成的随机数序列是一样的,而对于同一个Random对象,生成的随机数序列是不一样的。
import java.util.Random;
public class Test {
public static void main(String[] args) {
Random random1 = new Random(10);
for (int i = 0; i < 10; i++) {
System.out.print(random1.nextInt(10));
}
System.out.println();
for (int i = 0; i < 10; i++) {
System.out.print(random1.nextInt(10));
}
System.out.println();
Random random2 = new Random(10);
for (int i = 0; i < 20; i++) {
System.out.print(random2.nextInt(10));
}
}
}
2、Math.random()
public class Test {
public static void main(String[] args) {
//生成[0.0,1.0)的double类型的随机数
System.out.println(Math.random());
//生成[0,10)的int类型的随机数
System.out.println((int) (Math.random() * 10));
//生成[10,100)的int类型的随机数,min=10,max<90+10
System.out.println((int)(Math.random() * 90+10));
}
}