当前位置: 首页 > news >正文

商城网站建设快速服务视频剪辑培训班一般学费多少

商城网站建设快速服务,视频剪辑培训班一般学费多少,大连工程建设信息网,网络宣传广告费多少生成随机数的两种方法 Random类和Math类的random方法都可以用来生成随机数 而Math类的random方法则是基于系统时间的伪随机数生成器,大于等于0.0小于1.0的随机double值范围[0,1)。例如: double num1 Math.random() * 5 4;//范围[4,9) Random类是基于种…

生成随机数的两种方法

Random类和Math类的random方法都可以用来生成随机数
而Math类的random方法则是基于系统时间的伪随机数生成器,大于等于0.0小于1.0的随机double值范围[0,1)。例如: double num1 = Math.random() * 5 + 4;//范围[4,9)
Random类是基于种子的伪随机数生成器,有含参数和不含参数两种构造方式,不含参数的构造方法每次都使用当前系统时间作为种子,而含餐构造是使用一个固定值(参数n)作为种子范围[0,n)。例如:Random rd1 = new Random(); double num2 = rd1.nextDouble(); Random rd2 = new Random(10); double num3 = rd2.nextDouble();

Math.random() 无参调用,返回值为 double,大于等于 0.0 ,小于 1.0。范围[0.0,1.0)

static double random​() 返回值为 double的正值,大于等于 0.0 ,小于 1.0 。

double randomDouble = Math.random(); // 生成[0,1)之间的随机小数
int randomNumber = (int) (2 + Math.random() * 101); // 生成[2,103)之间的随机整数

Random类对象的next()方法,可有参。从这个随机数生成器的序列返回下一个伪随机数,均匀分布的 int值。

protected int next​(int bits) 生成下一个伪随机数。  
boolean nextBoolean​() 从该随机数生成器的序列返回下一个伪随机数,均匀分布的 boolean值。  
void nextBytes​(byte[] bytes) 生成随机字节并将它们放入用户提供的字节数组中。  
double nextDouble​() 返回下一个伪,均匀分布 double之间价值 0.0和 1.0从这个随机数生成器的序列。  
float nextFloat​() 返回下一个伪,均匀分布 float之间价值 0.0和 1.0从这个随机数生成器的序列。  
double nextGaussian​() 从该随机数发生器的序列返回下一个伪随机数,高斯(“正”)分布的 double值,平均值为 0.0 ,标准偏差为 1.0 。  
int nextInt​() 从这个随机数生成器的序列返回下一个伪随机数,均匀分布的 int值。  
int nextInt​(int bound) 返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。  
long nextLong​() 返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 long值。  
 public static void main(String[] args) {//测试一下生成随机数的两种方法int i = 0;for (i = 0; i < 10000; i++) {System.out.println("=====================================");double numDouble1 = Math.random();int numInt1 = (int)(Math.random()*(10));System.out.println("Math.random的随机浮点数[0.0,1.0):" + numDouble1);System.out.println("Math.random的随机整数[0,9]" + numInt1);System.out.println("---------------------------------------");Random rd = new Random();double numDouble2 = rd.nextDouble();int numInt2 = rd.nextInt();int numInt3 = rd.nextInt();int numInt4 = rd.nextInt(4);int numInt5 = rd.nextInt(4);System.out.println("Random对象的无参随机浮点数[0.0,1.0]:" + numDouble2);//不知道边界情况,没人说过,只说之间。不管了,反正都用Math类System.out.println("Random对象的无参随机整数[-整数,整数]:"  + numInt2 + "," + numInt3);System.out.println("Random对象的参数构造[0,4):" + numInt5 + "," + numInt4);}System.out.println("执行" + i + "次");}
}

Random有参构造后,调用方法生成随机数,数完全相同

只要Random构造的参数固定,生成的随机数也固定,完全不随机。不推荐使用

System.out.println("--------------------------------------");Random rd1 = new Random(10);double numDouble3 = rd1.nextDouble();Random rd2 = new Random(10);double numDouble4 = rd2.nextDouble();System.out.println("参数10的Random对象生成的随机浮点数" + numDouble3 + "," + numDouble4);//因为种子相同,所以生成的数也相同System.out.println("参数10的Random对象生成的随机整数[0,5):" + numInt6 );

其中三次运行结果

=====================================
Math.random的随机浮点数[0.0,1.0):0.7142916697602802
Math.random的随机整数[0,9]:6
---------------------------------------
Random对象的无参随机浮点数[0.0,1.0]:0.6315568322991557
Random对象的无参随机整数[-整数,整数]:73848388,929911462
Random对象的参数构造[0,4):0,0
--------------------------------------
参数10的Random对象生成的随机浮点数:0.7304302967434272,0.7304302967434272
参数10的Random对象生成的随机整数[0,5):3
=====================================
Math.random的随机浮点数[0.0,1.0):0.6622105346737387
Math.random的随机整数[0,9]:4
---------------------------------------
Random对象的无参随机浮点数[0.0,1.0]:0.7790519044760864
Random对象的无参随机整数[-整数,整数]:-1185189383,-718067040
Random对象的参数构造[0,4):2,2
--------------------------------------
参数10的Random对象生成的随机浮点数:0.7304302967434272,0.7304302967434272
参数10的Random对象生成的随机整数[0,5):3
=====================================
Math.random的随机浮点数[0.0,1.0):0.4240920821616745
Math.random的随机整数[0,9]:8
---------------------------------------
Random对象的无参随机浮点数[0.0,1.0]:0.36926846454559725
Random对象的无参随机整数[-整数,整数]:1829129943,120476504
Random对象的参数构造[0,4):2,0
--------------------------------------
参数10的Random对象生成的随机浮点数:0.7304302967434272,0.7304302967434272
参数10的Random对象生成的随机整数[0,5):3

总结:
1.Math.random方法明确范围[0,1)
2.Random类无参构造时,无参调用方法生成随机数都为该类型数的范围,但如double为0.0~1.0之间但不清楚边界包含情况,慎用
3.Random类有参构造时,若参数固定,不管有参还是无参调用方法得到的数都相同如

			Random rd2 = new Random(10);double numDouble4 = rd2.nextDouble();//循环多少次都固定产生0.7304302967434272int numInt6 = rd2.nextInt(5);//固定产生3
http://www.ds6.com.cn/news/120106.html

相关文章:

  • 有没有做高仿手表的网站网络推广工作内容怎么写
  • 阿里巴巴国际站费用软文写作300字
  • 如何给网站刷流量市场调研报告
  • 企业网站轮播图免费二级域名分发网站
  • 做暧动漫视频在线观看网站制定营销推广方案
  • seo外包方法seo推广方法
  • 四川长昕建设工程有限公司网站今天晚上19点新闻联播直播回放
  • 网站切片怎么做网络营销做得比较成功的企业
  • 工业产品设计就业前景贵州网站seo
  • 一页网站seo网站关键词优化方式
  • wordpress 小说插件太原seo软件
  • 做课件可赚钱的网站seo岗位职责
  • 网站内容方向百度 指数
  • 自己可以开发一个软件吗网站关键词优化方法
  • 网站制作推广关键词排名查询官网
  • 沈阳网站建爱链接网如何使用
  • 高端定制网站开发设计建站流程大一html网页制作作业
  • 用rem做移动网站小广告设计
  • 公司网站可以不买域名吗北京网站建设东轩seo
  • html做校园网站成全在线观看免费高清动漫
  • 工信和信息化部网站网络推广方法的分类
  • 廉洁文化手册页面设计模板seo是什么意思呢
  • dede手机网站制作怎么从网上找客户
  • 政府信息公开和网站建设工作总结深企在线
  • 北京网约车租车公司哪家好seop
  • 2022年注册公司流程seo软件系统
  • 从化网站建设郑州网站推广公司咨询
  • aspx网站使用什么做的网站关键词快速排名软件
  • 潮州网站设计百度提交网站入口
  • 泉州seo网站推广南阳网站优化公司