精品文档可编辑 值得下载
伪随机数及其在JAVA程序中的应用分析
摘要伪随机数发展对以往的追求随机数列的方法有了很大效率上的提升将其应用到J AVA程序当中对运行的效率有了很大改变。基于此本文则主要就伪随机数进行详细阐述并对其在JAVA程序当中的实际应用加以详细探究分析希望能够通过此次的理论研究对实际操作起到一定指导作用。
【关键词】 JAVA程序应用伪随机数
当前我国的科学技术正迅猛的发展一些软件的开发愈来愈带有技术性当前伪随机数在软件开发和程序的设计过程中得到了较为广泛的应用。随机数在实际的应用过程中有着效率低及速度慢和占据的内存量大的缺陷而伪随机数则通过数学递推公式产生的随机数这一形式对实际的应用效率得到了有效提升。
1伪随机数生成原理及JAVA程序分析
1 .1伪随机数的生成原理分析
对伪随机数生成需要满足几个重要的条件只有在这一基础上才能够实现伪随机数主要就是序列的任意数值间的相互独立以及对概率分布的确定。从现阶段的发展情况来看生成随机数的方法主要有两种第一种就是通过物理方法产生的真正随机数第二种就是在数学方法的作用下产生
精品文档可编辑 值得下载
的有统计规律的随机数列这两种生成方法就是最为主要的形式。在这一过程中通过相关算法产生的随机数其实并不是真是的这就是所谓的伪随机数其产生的主要原理就是通过编译器对伪随机数提供生成器然后在生成器的作用支持下对产生的数列精确度及均匀性最大化的保障接着就是进行对整数实际的应用并传输给函数这样就能够对数段间的整数数量进行有效的制约。
1 .2关于J AVA程序的理论分析
这一程序对源代码以及二进制字节码间的转换后。通过虚拟技术进行执行字节码这样就对编译和到处执行等跨平台特性的实现比较有利。JAVA程序在语言上相对比较简单并且是分布式以及安全的虽然在这些方面有着优越性但其自身还是存在着一些局限也就是需要对程序中伪随机数的应用进行分析才能够实现。
2伪随机数生成的方式及在JAVA程序当中的实际应用
2.1伪随机数的生成方式分析
伪随机数的生成方式是多样性的它可以通过多种方式来生成最为常见的就是平方取中法以及线性同余法和非线性同余法等。其中伪随机数能够通过递推公式来产生an+1=fan n=1 2 ……通过这一通用公式就能够看出在计算的方法及初值得到了确定之后那么在随机数列方面也就得到了确定这和随机数列独立性要求是有着矛盾性存
精品文档可编辑 值得下载
在的。不仅如此伪随机数还会出现周期性的循环在这一情况下要能够满足分布的均匀性及统计上的独立性和足够长的周期并要在内存的占用上要达到最少所产生的随机数速度要足够的快。
从伪随机数的线性同余法的方式上来看这是最为常用的一种方法这是在上世纪五十年代提出的ni+1=af ni +bmod 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].计算机工程与设计 201302 .
[2]王霞俊.Java中随机数的生成、分析及其应用[J].福建电脑 201409 .
作者简介
董丽娟 1982- 女大学本科学历。 现为石家庄幼儿师范高等专科学校助教。研究方向为计算机技术。
作者单位
石家庄幼儿师范高等专科学校河北省石家庄市050228
ucloud美国云服务器怎么样?ucloud是国内知名云计算品牌服务商家,目前推出全球多地机房的海外云服务器。UCloud主打的优势是海外多机房,目前正在进行的2021全球大促活动参与促销的云服务器机房就多达18个。UCloud新一代旗舰产品快杰云服务器已上线洛杉矶节点,覆盖北美和亚太地区,火热促销中, 首月低至7元,轻松体验具备优秀性能与极高性价比的快杰云服务器。点击进入:ucloud美国洛杉矶...
spinservers是Majestic Hosting Solutions LLC旗下站点,主要提供国外服务器租用和Hybrid Dedicated等产品的商家,数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。目前,商家针对部分服务器提供优惠码,优惠后达拉斯机房服务器最低每月89美元起,圣何塞机房服务器最低每月...
萤光云怎么样?萤光云是一家国人云厂商,总部位于福建福州。其成立于2002年,主打高防云服务器产品,主要提供福州、北京、上海BGP和香港CN2节点。萤光云的高防云服务器自带50G防御,适合高防建站、游戏高防等业务。目前萤光云推出北京云服务器优惠活动,机房为北京BGP机房,购买北京云服务器可享受6.5折优惠+51元代金券(折扣和代金券可叠加使用)。活动期间还支持申请免费试用,需提交工单开通免费试用体验...