黑马程序员技术交流社区

标题: 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的随机数
     }
}
结果:
815698593036235676
89252921878128189843
我建议你也可以查查API文档,里面的更丰富!希望对你有帮助!






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