public class RadomDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Random rd=new Random();
System.out.println(rd.nextInt());
System.out.println(rd.nextInt());
System.out.println("result is:"+rd.nextDouble());
System.out.println(rd.doubles());
}
}
运行结果:
-823092565
-1416900502
result is:0.010750369831312945
java.util.stream.DoublePipeline$Head@62ee68d8
这是 调用了 Object类的 toString方法,打印了 类名 和 其 hashcode
rd.doubles()返回的是stream对象,没有实现toString,输出的是对象hash
Random产生随机数有两种方式,一种不带种子,一种是带种子的
有下面这样一段代码,定义两个随机数,设定相同的种子,返回100以内的随机整数,两个Random产生的随机数顺序是一样的。
Random random = new Random(100);
Random random1 = new Random(100);
//随机生成5个int数字 next()
System.out.println("随机生成5个int数字 next()");
for (int n = 0; n < 5; n++) {
System.out.println(random.nextInt(100)+" "+random1.nextInt(100));
}
输出的结果如下:
15,15
50,50
74,74
88,88
91,91
Random的随机数其实伪随机数,只要种子确定,那么生成的随机数顺序是一致的,所以避免例子中两个Random实例产生了顺序一致的随机数。一般有两种方式