方法一:调用 Math.random() 方法
int ran=(int)(Math.random()*(max-min+
1
))+min;
- Math.random() — 随机生成一个 [0,1) 的随机双精度浮点数
- 区间分析:
(max-min) 表示 [0,max)
—因为min=0,所以也可以直接写 (max)
(max-min+1
) 表示 [0,max]
—因为min=0,所以也可以写(max+1)
(max-min+1
)+min 表示 [min,max]
public class Array10 {
public static void main(String[] args) {
//生成[5,10]的随机数
int ran=(int)(Math.random()*(10-5+1))+5;
System.out.println("[5,10]的随机数:"+ran);
//生成[5,10)的随机数
int ran1=(int)(Math.random()*(10-5))+5;
System.out.println("[5,10)的随机数:"+ran1);
}
}
方法二:调用Random类中的nextInt,nextDouble方法
Random random=new Random(); //先new一个random对象,用于调用Random类中的方法
int a=random.nextInt(max-min+1)+min; //应用Random类中的 nextInt 整数
- 区间分析:
(max-min) 表示 [0,max)
—因为min=0,所以也可以直接写 (max)
(max-min+1
) 表示 [0,max]
—因为min=0,所以也可以写(max+1)
(max-min+1
)+min 表示 [min,max]
public class Array11 {
public static void main(String[] args) {
Random random = new Random();
//生成[5,10]的随机数
int ran = random.nextInt(10-5+1)+5;
System.out.println("[5,10]的随机数:"+ran);
//生成[5,10)的随机数
int ran1 = random.nextInt(10-5)+5;
System.out.println("[5,10)的随机数:"+ran1);
}
}