黑马程序员技术交流社区

标题: 用Math类和用Random类产生随机数有什么区别 [打印本页]

作者: liuzf006    时间: 2015-3-17 00:26
标题: 用Math类和用Random类产生随机数有什么区别
Math.random()和Random产生随机数有什么区别吗?使用哪种方法更好?
作者: konglingzhiyu    时间: 2015-3-17 08:17
说不上好坏!
Random类的随机方法是设定随机种子的,(如:new Random().nextInt(10)),这里的10就是随机种子,根据随机数的原理,相同随机种子在相同的随机次数中产生的随机数是一样的,(
public class RandomNum{
public static void main(String[] args){
Random r1 = new Random(100);//第一个Random对象r1,随机种子100
Random r2 = new Random(100);//第二个Random对象r2,随机种子100
System.out.println("r1产生的值:"+r1.nextInt());
System.out.println("r2产生的值:"+r2.nextInt());
System.out.println("Math.random产生的值:"+(int)(Math.random()*100));
}
}
),如果看Math的random方法的实现代码的话,就会发现,该方法就是调用的Random类的nextDouble()方法。
因为Math类的random方法使用较方便,不需要导包、创建对象,所以许多人习惯于使用该方法。
作者: 罗晓飞    时间: 2015-3-17 08:25
Random方便啊。。。。
作者: liuzf006    时间: 2015-3-22 09:06
konglingzhiyu 发表于 2015-3-17 08:17
说不上好坏!
Random类的随机方法是设定随机种子的,(如:new Random().nextInt(10)),这里的10就是随机 ...

thank you!学习了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2