A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Math.random()和Random产生随机数有什么区别吗?使用哪种方法更好?

3 个回复

倒序浏览
说不上好坏!
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方法使用较方便,不需要导包、创建对象,所以许多人习惯于使用该方法。
回复 使用道具 举报
Random方便啊。。。。
回复 使用道具 举报
konglingzhiyu 发表于 2015-3-17 08:17
说不上好坏!
Random类的随机方法是设定随机种子的,(如:new Random().nextInt(10)),这里的10就是随机 ...

thank you!学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马