- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)