为了账号安全,请及时绑定邮箱和手机立即绑定

java 生成随机数

java 生成随机数

波斯汪 2019-03-14 13:15:57
Random 类的实例 randomrandom.doubles(1, var1, var2 ).findFirst().orElse(0);貌似只能生成 [var1, var2) 的随机数(左闭右开),我想生成[var1, var2](左闭右闭)的该怎么写?
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

解决方法:

random.doubles(1, var1, var2 + Double.MIN_VALUE).findFirst().orElse(0);


double可表示的小数位数过多,所以按概率来说,要能随机出var2的机率太小,建议楼主可以忽略。如果你只取固定的小数位数,例如2位小数,可以这样做:


// 取[1.20, 1.30]

long n = random.longs(1, 120, 130 + 1).findFirst().orElse(0);

// 将n的小数点左移两位


查看完整回答
反对 回复 2019-04-23
  • 1 回答
  • 0 关注
  • 433 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信