Java获取随机数分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java获取随机数 随机数在实际中使用很广泛,比方要随即生成一个固定长度的字符串、数 字。或者随即生成一个不定长度的数字、或者进行一个模拟的随机选择等等。Java 提供了最基本的工具,可以帮助开发者来实现这一切。 一、Java随机数的产生方式 在Java中,随机数的概念从广义上将,有三种。 1、通过System. currentTimeMi 11 is()来获取一个当前时间毫秒数的long 型数字。 2、通过Math, random。返回一个0到1之间的double值。 3、通过Random类来产生一个随机数,这个是专业的Random工具类,功能 强大。 二、Random 类 API 说明 1、Java API 说明 Random类的实例用于生成伪随机数流。此类使用48位的种子,使用线性 同余公式对其进行修改(请参阅Donald Knuth的《The Art of Computer Programming, Volume 2》,第 3. 2. 1 节)。 如果用相同的种子创立两个Random实例,那么对每个实例进行相同的方法 调用序列,它们将生成并返回相同的数字序列。为了保证属性的实现,为类 Random指定了特定的算法。很多应用程序会发现Math类中的random方法更 易于使用。 2、方法摘要 Random () 创立一个新的随机数生成器。 Random(long seed) 使用单个long种子创立一个新随机数生成器: public Random (long seed) { setSccd (seed) ; } next 方法使用它来保 存随机数生成器的状态。 protected int next(int bits) 生成下一个伪随机数。 boolean nextBoolean() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。 void ncxtBytes(byte[] bytes) 生成随机字节并将其置于用户提供的字节数组中。 double nextDoubleO 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在0.0和 1. 0之间均匀分布的double值。 float nextFloat() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在0.0和1.0之间均匀分布的float值。 double nextGaussian() 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正 常地”)分布的double值,其平均值是0.0,标准偏差是l.Oo int ncxtlnt 0 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。 int nextlnt(int n) 返回一个伪随机数,它是从此随机数生成器的序列中取出的、在0 (包括) 和指定值(不包括)之间均匀分布的int值。 long nextLongO 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。 void setSeed(long seed) 使用单个long种子设置此随机数生成器的种子。 三、Random类使用说明 1、带种子与不带种子的区别 Random类使用的根本是策略分带种子和不带种子的Random的实例。 通俗说,两者的区别是: 带种子的,每次运行生成的结果都是一样的。 不带种子的,每次运行生成的都是随机的,没有规律可言。 2、创立不带种子的Random对象 Random random = new Random () ; 3、 创立不带种子的Random对象有两 种方法: Random random = new Random(555L); Random random = new Random(); random. setSeed(555L); 四、综合应用package junit; import java.util.Random;public class RandomUtilTest { publicstaticfinalStringallChar0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ; publicstaticfinalStringletterCharabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ; public static final String numberChar = 0123456789; /** *返回一个定长的随机字符串(只包含大小写字母、数字) @param length 随机字符串长度 @return随机字符串 / public static String

文档评论(0)

189****6037 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6012235243000004

1亿VIP精品文档

相关文档