| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
11年前发布

Java生成随机数

1.java的Random是伪随机,在一个区间会等几率生成随机数。利用这个可实现概率问题:
实现60%几率执行A程序,30%几率执行B程序,10%几率执行C程序。

Random rnd = new Random();  double d = rnd.nextDouble();  if(d<=0.6){   System.out.println("执行A");  }else if(d<=0.9){   System.out.println("执行B");  }else{   System.out.println("执行C");  }



2.Random里的种子数是个生成随机数的起源数,与生成什么没有关系。两个种子数相同的Random生成的同类型随机数也是相同的,内部执行的算法是一致的,应用中一般只使用一个Random对象。但new Random()的种子数是随机的,两个new Random()生成的同类型随机数基本都是不同的。
3.Random里的方法nextBytes(byte[] bytes)给bytes附上随机字节,无返回值。
4.几个例子:
生成[-3,15)之间的随机数:
System.out.println(rnd.nextInt(4) * (-1) + rnd2.nextInt(15));  System.out.println(rnd.nextInt(18) - 3);



生成[1,2.5]之间的随机数:
System.out.println(1 + rnd.nextDouble() * 0.5 + rnd.nextInt(2));  System.out.println(rnd.nextDouble() * 1.5 + 1);



生成.[0,5.0]之间的随机数:
System.out.println(rnd2.nextDouble() + rnd2.nextInt(5));  System.out.println(rnd2.nextDouble() * 5);



5.nextBoolean随机生成true  false,Math.random()调用的是Random的nextDouble()

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1416658633742.html
Java Java开发