随机数伪随机数及其在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

百纵科技(19元/月),美国洛杉矶10G防御服务器/洛杉矶C3机房 带金盾高防

百纵科技官网:https://www.baizon.cn/百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格1H1G10M10G10G19元/月 购买地址2H1G10M10G10G29元/月 购买...

香港 E5-2650 16G 10M 900元首月 美国 E5-2660 V2 16G 100M 688元/月 华纳云

华纳云双11钜惠出海:CN2海外物理服务器终身价688元/月,香港/美国机房,免费送20G DDos防御,50M CN2或100M国际带宽可选,(文内附带测评)华纳云作为一家专业的全球数据中心基础服务提供商,总部在香港,拥有香港政府颁发的商业登记证明,APNIC 和 ARIN 会员单位。主营香港服务器、美国服务器、香港/美国OpenStack云服务器、香港高防物理服务器、美国高防服务器、香港高防I...

MineServer:香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps/KVM,288元/年

mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,云服务器网(yuntue.com)介绍过几次,最近比较活跃。现在新推出了3款特价KVM VPS,性价比高,香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps...

java随机数为你推荐
回收站在哪回收站去哪里了?淘宝收费淘宝网的收费项目有哪些快速美白好方法快速美白的好点子!?(不是晒黑的)显卡温度多少正常显卡温度是多少才算正常的?蘑菇街美丽说蘑菇街、美丽说这类网站前期是怎么推广的?虚拟机软件下载谁有好的虚拟机软件?微信怎么看聊天记录怎样查找一个人的微信聊天记录中国杀毒软件排行榜中国杀软排名如何修改ie主页怎样修改IE主页网页窗口最大化怎样才能打开网页窗口自己最大化
便宜vps 域名抢注工具 google电话 buyvm 美国仿牌空间 directadmin debian源 骨干网络 40g硬盘 165邮箱 秒杀预告 ntfs格式分区 申请免费空间 金主 服务器托管价格 葫芦机 酷锐 web服务器 瓦工工具 更多