/**
* Java生成随机数的三种方式:
* 1、Random()
* 2、Math.random()
* 3、currentTimeMillis
*
* */
public class RandomTest {
public static void main(String[] args) {
RandomNumberMethod1();
RandomNumberMethod2();
RandomNumberMethod3();
}
/*
* 第一种需要借助java.util.random类产生一个随机数发生器,构造函数有两个,
* Random()和Random(long seed),第一个以当前时间为默认种子,第二个以指定的种子进行
* 种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,
* 并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。
* 同一个种子随机数相同
* */
private static void RandomNumberMethod1() {
Random random = new Random(2);
for(int i = 0; i <5 ;i++){
int randomNumber = random.nextInt(100);
System.out.print(randomNumber+", ");
}
System.out.println();
}
/*
* 方法返回从1970年1月1日0时0分0秒,这与UNIX系统有关,到
* 现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。
* */
private static void RandomNumberMethod3(){
int max= 100, min=1;
long randomNumber3 = System.currentTimeMillis();
int randomNumber_3 = (int) (randomNumber3%(max- min)+min);
System.out.println(randomNumber_3);
}
/*
* Math.random()主要是生成一个随机(0.0,1.0)的浮点数,double在转换成一个整数随机数
* */
private static void RandomNumberMethod2(){
int max= 100,min=1;
int randomNumber2 = (int)(Math.random()*(max - min)+min);
System.out.println(randomNumber2);
}
}