1.System.currentTimeMillis()
获取当前时间的毫秒的long型整数。
System.out.println(System.currentTimeMillis());
2.使用Random类
创建Random对象
(1)种子说明
种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。
(2)创建带种子的Random对象,每次产生的随机数相同
Random r = new Random(10);
或者
Random r = new Random();
r.setSeed(10);
(3)创建不带种子的Random对象,每次结果不一样
Random r = new Random();
产生随机数实例
(1)产生10个0-10范围内的int型随机数。
for (int i = 0; i < 10; i++) {
System.out.println(r.nextInt(10)); //注意产生的随机数不包括10
}
(2)产生10个0-10内的float型随机数
for (int i = 0; i < 10; i++) {
System.out.println(r.nextFloat()*10); //nextFloat方法产生0-1范围内的随机数
}
常用方法
1.protected int next(int bits):生成下一个伪随机数。
2.boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。
3.void nextBytes(byte[] bytes):生成随机字节并将其置于用户提供的 byte 数组中。
4.double nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值。
5.float nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值。
6.int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
7.int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值。
8.long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
9.void setSeed(long seed):使用单个 long 种子设置此随机数生成器的种子。
3.使用Math.random()
Math.random()返回的[0,1)之间的double类型的随机数。
实例
(1)产生10个0-4之间的随机整数
for (int i = 0; i < 10; i++) {
System.out.println((int)(Math.random()*5));
}
(2)返回10个1-10之间的随机整数
for (int i = 0; i < 10; i++) {
System.out.println((int)(Math.random()*10)+1);
}