栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Java中生成某个范围内的随机双数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java中生成某个范围内的随机双数

这是主意。你想在一个随机数 的范围 ,比方说

[-1.1,2.2]
,开始用一个简单的例子。自以来,该范围的长度为3.3
2.2 - (-1.1) =3.3
。现在,大多数“随机”函数都返回范围为1的数字(
[0,1)
长度为1),因此我们必须将随机数 缩放 到所需的范围。

Random random = new Random();double rand = random.nextDouble();double scaled = rand * 3.3;

现在我们的随机数具有我们想要的大小,但是我们必须在数字行中将其移动到我们想要的精确值之间。对于这一步,我们只需要将整个范围的下限添加到缩放后的随机数中就可以了!

double shifted = scaled + (-1.1);

现在,我们可以将这些部分放到一个函数中:

protected static Random random = new Random();public static double randomInRange(double min, double max) {  double range = max - min;  double scaled = random.nextDouble() * range;  double shifted = scaled + min;  return shifted; // == (rand.nextDouble() * (max-min)) + min;}

当然,此功能需要对意外值进行一些错误检查,例如,

NaN
但是此答案应能说明总体思路。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号