首页 > Java > java教程 > 如何在 Java 中生成特定范围内的随机整数(和双精度数)?

如何在 Java 中生成特定范围内的随机整数(和双精度数)?

Linda Hamilton
发布: 2024-12-04 19:53:11
原创
376 人浏览过

How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

Math.random() 操作:生成指定范围内的随机整数

Java 函数 Math.random() 生成指定范围内的随机数范围 [0, 1)。但是,在某些情况下,您可能需要获取特定范围内的随机整数。本文演示了如何使用 Math.random() 来实现此目的。

生成三到五之间的随机整数的意图

虽然语句“(int) Math .random() * 5 3" 没有正确生成 [3, 5] 范围内的随机整数,可以使用自定义修正方法:

int randomWithRange(int min, int max) {
    int range = (max - min) + 1;
    return (int) (Math.random() * range) + min;
}
登录后复制

此方法计算可能值的范围,将其乘以 Math.random(),并添加最小值以确保包含性。

输出示例

System.out.println(randomWithRange(3, 5));
// Output: 3
登录后复制

防白痴错误排序

为了防止 min 大于 max 时出现错误,更新的方法是:

int randomWithRange(int min, int max) {
    int range = Math.abs(max - min) + 1;
    return (int) (Math.random() * range) + (min <= max ? min : max);
}
登录后复制

双随机数生成的扩展

类似的方法可以用来生成随机双精度数字:

double randomWithRange(double min, double max) {
    double range = (max - min);
    return (Math.random() * range) + min;
}
登录后复制

使用此方法:

System.out.println(randomWithRange(3.0, 5.0));
登录后复制

以上是如何在 Java 中生成特定范围内的随机整数(和双精度数)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板