java生成随机数方法大全可指定范围、分布方式、类型、种子
*Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。
*它可以产生int、 long、 float、 doub le以及Gous sian等类型的随机数。
*java.lang.Math中的方法random()只产生double型的随机数。public c las s RandomNumber {public static void main(String[] args) {
//使用java.lang.Math的random方法生成随机数
Sys tem.out.println(Math.random():+Math.random());
//使用不带参数的构造方法构造java.util.Random对象
System.out.println(使用不带参数的构造方法构造的Random对象:
Random rd1=new Random();
//产生各种类型的随机数
//按均匀分布产生整数
System.out.println( int:+rd 1.nextInt());
//按均匀分布产生长整数
System.out.println( long:+rd 1.nextLong());
//按均匀分布产生大于等于0小于1的float数[0, 1)
System.out.println(float:+rd 1.nextFloat());
//按均匀分布产生[0, 1)范围的double数
System.out.println(double:+rd 1.nextDouble());
//按正态分布产生随机数
System.out.println(Gaussian:+rd1.nextGaussian());
//指定随机数产生的范围
S ys tem.out.print( [0,10)范围内随机整数序列:for(int i=0; i i++) {
//Random的nextInt(int n)方法返回一个[0,n)范围内的随机数
System.out.print(rd 1.nextInt(10)+
System.out.println();
S ys tem.out.print( [5,23)范围内随机整数序列:for(int i=0; i i++) {
//因为nextInt(int n)方法的范围是从0开始的
//所以需要把区间[5,28)转换成5+[0,23)。
System.out.print(5+rd 1.nextInt(23)+
Sys tem.out.println();
Sys tem.out.print(利用nextF loat()生成[0,99)范围内的随机整数序列:for(int i=0; i i++) {
System.out.print((int) (rd 1.nextFloat() * 100)+
Sys tem.out.println();
Sys tem.out.println();
//使用带参数的构造方法构造Random对象
//构造函数的参数是long类型是生成随机数的种子。
System.out.println(使用带参数的构造方法构造的Random对象:
Random ran2=new Random(10);
//对于种子相同的Random对象生成的随机数序列是一样的。
Sys tem.out.println(使用种子为10的Random对象生成[0,10)内随机整数序列:
for(int i=0; i i++) {
Sys tem.out.print(ran2.nextInt(10)+
Sys tem.out.println();
Random ran3=new Random(10);
System.out.println(使用另一个种子为10的Random对象生成[0,10)内随机整数序列:for(int i=0; i i++) {
Sys tem.out.print(ran3.nextInt(10)+
Sys tem.out.println();
// ran2和ran3生成的随机数序列是一样的如果使用两个没带参数构造函数生成的Random对象
//则不会出现这种情况这是因为在没带参数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。
//另外直接使用Random无法避免生成重复的数字如果需要生成不重复的随机数序列需要借助数组和集合类
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...
EtherNetservers是一家成立于2013年的英国主机商,提供基于OpenVZ和KVM架构的VPS,数据中心包括美国洛杉矶、新泽西和杰克逊维尔,商家支持使用PayPal、支付宝等付款方式,提供 60 天退款保证,这在IDC行业来说很少见,也可见商家对自家产品很有信心。有需要便宜VPS、多IP VPS的朋友可以关注一下。优惠码SUMMER-VPS-15 (终身 15% 的折扣)SUMMER-...
适逢中国农历新年,RAKsmart也发布了2月促销活动,裸机云、云服务器、VPS主机全场7折优惠,新用户注册送10美元,独立服务器每天限量秒杀最低30.62美元/月起,美国洛杉矶/圣何塞、日本、香港站群服务器大量补货,1-10Gbps大带宽、高IO等特色服务器抄底价格,机器可选大陆优化、国际BGP、精品网及CN2等线路,感兴趣的朋友可以持续关注下。裸机云新品7折,秒杀产品5台/天优惠码:Bare-...