侧边栏壁纸
  • 累计撰写 793 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

Random

Dettan
2021-04-10 / 0 评论 / 0 点赞 / 176 阅读 / 592 字
温馨提示:
本文最后更新于 2022-07-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
生成5位手机验证码
  String code = String.format("%04d", new Random().nextInt(99999-10000+1)+10000);
  String code = String.valueOf(new Random().nextInt(99999 - 10000 + 1) + 10000);
Random类
伪随机数 (根据种子生成随机序列,无限长的一个数字串,没次的next...() 函数就是拿依次拿出几个数字出来再运算一下然后返回。 相同的种子生成的数字串相同。。。)
Random()
创建一个新的随机数生成器。 会以系统时间为主参考生成一个种子
Random(long seed)
使用单个 long 种子创建一个新的随机数生成器。 seed随便写都行。
protected int next(int bits)
生成下一个伪随机数。
boolean nextBoolean()
return next(1) != 0;
返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
void nextBytes(byte[] bytes)
把一个int拆成4个byte放进去的
生成随机字节并将其置于用户提供的 byte 数组中。
double nextDouble()
return (((long)next(26) << 27) + next(27))/ (double)(1L << 53);
在 0.0 和 1.0 之间均匀分布
float nextFloat()
return next(24) / ((float)(1 << 24));
在 0.0 和 1.0 之间均匀分布,1往左移24位后,第25位是1.
int nextInt()
return next(32);
0至2的32次方,即int的最大值。
int nextInt(int n)
返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
long nextLong()
return ((long)next(32) << 32) + next(32);
返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。 不会返回所有的可能值,因为seed是48位,long是64位
void setSeed(long seed)
double nextGaussian()
返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。
Random r = new Random(4L);
for(int i = 0;i<1000;i++){//只有nextInt能指定上限。
//	System.out.println(r.nextDouble());
	System.out.println(r.nextInt(10));//结果是[0,10)之间的数不包含10
//	System.out.println(r.nextFloat());
//	System.out.println(r.nextLong());
}
0

评论区