随机数伪随机数及其在JAVA程序中的应用分析

java随机数  时间:2021-02-13  阅读:()

精品文档可编辑 值得下载

伪随机数及其在JAVA程序中的应用分析

摘要伪随机数发展对以往的追求随机数列的方法有了很大效率上的提升将其应用到J AVA程序当中对运行的效率有了很大改变。基于此本文则主要就伪随机数进行详细阐述并对其在JAVA程序当中的实际应用加以详细探究分析希望能够通过此次的理论研究对实际操作起到一定指导作用。

【关键词】 JAVA程序应用伪随机数

当前我国的科学技术正迅猛的发展一些软件的开发愈来愈带有技术性当前伪随机数在软件开发和程序的设计过程中得到了较为广泛的应用。随机数在实际的应用过程中有着效率低及速度慢和占据的内存量大的缺陷而伪随机数则通过数学递推公式产生的随机数这一形式对实际的应用效率得到了有效提升。

1伪随机数生成原理及JAVA程序分析

1 .1伪随机数的生成原理分析

对伪随机数生成需要满足几个重要的条件只有在这一基础上才能够实现伪随机数主要就是序列的任意数值间的相互独立以及对概率分布的确定。从现阶段的发展情况来看生成随机数的方法主要有两种第一种就是通过物理方法产生的真正随机数第二种就是在数学方法的作用下产生

精品文档可编辑 值得下载

的有统计规律的随机数列这两种生成方法就是最为主要的形式。在这一过程中通过相关算法产生的随机数其实并不是真是的这就是所谓的伪随机数其产生的主要原理就是通过编译器对伪随机数提供生成器然后在生成器的作用支持下对产生的数列精确度及均匀性最大化的保障接着就是进行对整数实际的应用并传输给函数这样就能够对数段间的整数数量进行有效的制约。

1 .2关于J AVA程序的理论分析

这一程序对源代码以及二进制字节码间的转换后。通过虚拟技术进行执行字节码这样就对编译和到处执行等跨平台特性的实现比较有利。JAVA程序在语言上相对比较简单并且是分布式以及安全的虽然在这些方面有着优越性但其自身还是存在着一些局限也就是需要对程序中伪随机数的应用进行分析才能够实现。

2伪随机数生成的方式及在JAVA程序当中的实际应用

2.1伪随机数的生成方式分析

伪随机数的生成方式是多样性的它可以通过多种方式来生成最为常见的就是平方取中法以及线性同余法和非线性同余法等。其中伪随机数能够通过递推公式来产生an+1=fan  n=1 2 ……通过这一通用公式就能够看出在计算的方法及初值得到了确定之后那么在随机数列方面也就得到了确定这和随机数列独立性要求是有着矛盾性存

精品文档可编辑 值得下载

在的。不仅如此伪随机数还会出现周期性的循环在这一情况下要能够满足分布的均匀性及统计上的独立性和足够长的周期并要在内存的占用上要达到最少所产生的随机数速度要足够的快。

从伪随机数的线性同余法的方式上来看这是最为常用的一种方法这是在上世纪五十年代提出的ni+1=af ni +bmod mi=0  1  2  . . . m-1生成数值序列称为是同余数列并在其序列当中常熟的选择对随机序列相关随机性能都有着直接性的关系所以对常熟进行适当的选择能够对伪随机数的区间均匀性得到有效保持。想要提高种子的均匀性就是通过算法的处理进行对整数溢出加以防止从而才能够保障伪随机数均匀并不重复。在这一过程中线性同余法不只是和种子有关同时和参数m、 a、 c的选取也有着关联如下表所示。

种子及参数关系表a b no m周期随机序列

7771046  9  0  7  6  9……

53716166  1  8  1 1  10  5  12  15  14  9 0 

3  2  13 4  7  6  . . .

51 1 886  7 4  5  2  3  0  1  6  7. .

2.2伪随机数在J AVA程序当中的实际应用

Random类的实现方面主要是在JDK最初版本发布时候

精品文档可编辑 值得下载

就能够使用J AVA.u t i l .Ra n d o m类产生随机数所以Ra n d o m类也主要是在nextInt这一方法的作用下得以完成的这一过程结果可通过代码进行详细的了解

Random random Generator=new Random  int random Number=random Generator.nextInt  n  

其中就使用到了random类的nextInt方法在这一方法的产生随机数范围基础上可结合特定应用程序需要的不同而进行转变。首先要进行递进参数value=1+random Generator.nextInt

在这一语句当中就产生了从1到6范围内的随机整数当进行递进参数而对过程中通过nextInt这一方法返回值范围为0到参数值减1。在这一过程中需要对应用程序当中的骰子滚动和显示进行实际的应用这时候就需要在rol lDice的方法下进行滚动骰子应用程序中就能够生成6个数字键的随机数通过对制定的骰子图片显示进而来计算出骰子表面的数据和这样就能够实现游戏程序的开发以及应用。

与此同时也能够通过JAVA中的Math类所提供的random方法调用形式为double x=Math.random  这一方法的返回值是在0.0―1 .0之间的浮点数产生任意low及high两数间随机数以及使其随机树的范围在8.0到300.0之间就可以通过以下的表达式进行实现

精品文档可编辑 值得下载

8.0+Math.random  *292

3结语

综上所述针对伪随机数的实际应用主要是在J AVA当中的应用在经过了长期完善以及发展这一方式的应用已经成了主要的程序设计的语言通过不同方式的伪随机数的生成方式能够对实际额需求最大化的满足。 由于本文的篇幅限制不能进一步的深入研究希望能够起到抛砖引玉的作用以待后来者居上。

参考文献

[1]边利亚叶飞跃.产品防伪中伪随机数的应用技术研究[J].计算机工程与设计 201302 .

[2]王霞俊.Java中随机数的生成、分析及其应用[J].福建电脑 201409 .

作者简介

董丽娟 1982-  女大学本科学历。 现为石家庄幼儿师范高等专科学校助教。研究方向为计算机技术。

作者单位

石家庄幼儿师范高等专科学校河北省石家庄市050228

LOCVPS:VPS主机全场8折,德国/荷兰/美国KVM终身7折

LOCVPS发来了针对元旦新年的促销活动,除了全场VPS主机8折优惠外,针对德国/荷兰KVM #1/美国KVM#2 VPS提供终身7折优惠码(限量50名,先到先得)。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐优先选择KVM),均选择直连或者优化线路,国内延迟低,适合建站或远程办公使...

HostYun 新增美国三网CN2 GIA VPS主机 采用美国原生IP低至月15元

在之前几个月中也有陆续提到两次HostYun主机商,这个商家前身是我们可能有些网友熟悉的主机分享团队的,后来改名称的。目前这个品牌主营低价便宜VPS主机,这次有可以看到推出廉价版本的美国CN2 GIA VPS主机,月费地址15元,适合有需要入门级且需要便宜的用户。第一、廉价版美国CN2 GIA VPS主机方案我们可看到这个类型的VPS目前三网都走CN2 GIA网络,而且是原生IP。根据信息可能后续...

DMIT:美国cn2 gia线路vps,高性能 AMD EPYC/不限流量(Premium Unmetered),$179.99/月起

DMIT怎么样?DMIT最近动作频繁,前几天刚刚上架了日本lite版VPS,正在酝酿上线日本高级网络VPS,又差不多在同一时间推出了美国cn2 gia线路不限流量的美国云服务器,不过价格太过昂贵。丐版只有30M带宽,月付179.99美元 !!目前,美国云服务器已经有个4个套餐,分别是,Premium(cn2 gia线路)、Lite(普通直连)、Premium Secure(带高防的cn2 gia线...

java随机数为你推荐
阿里云系统阿里云系统怎么样如何免费开通黄钻如何免费开通黄钻??云播怎么看片云播看不了视频正则表达式javajava正则表达式奇虎论坛奇虎是中国的吗?淘宝网页显示不正常淘宝网显示不正常创维云电视功能什么是创维云电视啊?创维云电视是什么意思?免费免费建站我想建一个自己的免费网站,但不知道那里有..ejb开发EJB是啥玩意了什么是云平台什么是云平台管理软件,一个云平台软件应该具有哪些基本功能
已备案域名出售 hostmonster 2017年万圣节 工作站服务器 世界测速 免费cdn 申请网页 国外视频网站有哪些 网购分享 网站加速软件 防cc攻击 群英网络 万网主机 1美元 大化网 睿云 privatetracker 2016黑色星期五 超低价 在线tracert 更多