随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:
第一种:new Random()
第二种:Math.random()
第三种:currentTimeMillis()
因为random的随机数在0-1之间,所以int random1 = random.nextInt(100);生成的是两位的随机数。同理,可以自己生成多位随机数
package single.random;
import java.util.Random;
/**
* 采用new Random()生成随机数
*/
public class Test1 {
public static void main(String[] args){
Random random = new Random();
//生成随机数的个数
for(int i = 0; i < 6;i++){
int random1 = random.nextInt(100);
System.out.println(random1);
}
}
}
而第二种方法返回的数值是[0.0,1.0)的double型数值,由于double类数的精度很高,可以在一定程度下看做随机数,借助(int)来进行类型转换就可以得到整数随机数了
package single.random;
/**
* 使用Math.random()生成随机数
*/
public class Test2 {
public static void main(String[] args){
int max = 100;
int min = 1;
for(int i = 0;i < 6;i++){
int ran = (int)(Math.random()*(max-min)+min);
System.out.println(ran);
}
}
}
方法返回从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。不常用,可以忽略
package single.random;
/**
* 使用currentTimeMillis()生成随机数
*/
public class Test3 {
public static void main(String[] args){
int max = 100;
int min = 1;
Long randomNum = System.currentTimeMillis();//这个语句常用来生成随机时间
int ran = (int)(randomNum%(max-min)+min);
System.out.println(ran);
}
}