黑马程序员技术交流社区
标题: random方法与Random类 [打印本页]
作者: eycrckag 时间: 2013-6-6 11:58
标题: random方法与Random类
Math类中random方法与Random类都可以生成随机数,他们有什么区别?
能举例说明最好。
作者: 梦想蓝色天空 时间: 2013-6-6 20:39
他们在产生伪随机数的方式是一样的。主要区别在于就用上的区别
Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
最终代码:(int)(Math.random()*50) + 50 ;
而一个Random类的话。只需要一个方法 Random r = new Random();r.nextInt(10);即可;
作者: 杨增坤 时间: 2013-6-12 20:35
random()方法是java.lang包中的Math类中的方法,且是静态的,该方法的功能是返回0~1之间的随机double类型的数值。这个方法可以模拟发牌,模拟抓球...等!
例如:
public class text {
public static void main(String[] args) {
// TODO Auto-generated method stub
double a=Math.random();
System.out.println("数值:"+a);
}
}结果是:数值:0.28239933777712733
Random类是java.lang包中的类 他也是为了模拟产生随机数,他方法比较丰富,
例如:
public class TextClass {
public static void main(String[]agrs){
Random r=new Random();
for(int i=0;i<10;i++)
System.out.print(r.nextInt(100)+"、");//产生不超过100的随机数
System.out.println();
for(int i=0;i<10;i++)
System.out.print(r.nextInt(100)+"、");//产生不超过100的随机数
}
}
结果:
81、56、98、59、30、3、62、3、56、76、
89、25、29、21、87、81、28、18、98、43、
我建议你也可以查查API文档,里面的更丰富!希望对你有帮助!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |