import java.util.Random; //随机生成[0, 100)中的一个整数,左闭右开区间 Random random = new Random(10); int res = random.nextInt(100); //随机生成[a, b)之间的一个整数 res = random.nextInt(b - a) + a; //随机生成[a, b]之间的一个整数 res = random.nextInt(b - a + 1) + a;
import java.lang.Math; //随机生成[0, 100)中的一个整数,左闭右开区间 int res = (int)(Math.random() * 100); //随机生成[a, b)之间的一个整数 res = (int)(Math.random() * (b - a)) + a; //随机生成[a, b]之间的一个整数 res = (int)(Math.random() * (b - a)) + a;
1、Math.random() 方法生成[0, 1)范围内的double类型随机数;Random类中的nextXxxx系列方法生成0-n的随机数,且可通过种子数限定结果是否可复现
2、Math.random() 线程安全,多线程环境能被调用
3、如无特殊需求,则使用(int)(Math.random()*n)的方式生成随机数即可