2025年4月12日 星期六 乙巳(蛇)年 正月十三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Java

Java 生成两个值之间的随机数

时间:05-18来源:作者:点击数:36

首先以float类型为例:

代码:

  • public float mockFloatBetween2(int begin, int end) {
  • BigDecimal between = new BigDecimal(end - begin);
  • BigDecimal point = new BigDecimal(Math.random());
  • BigDecimal pointBetween = point.multiply(between);
  • BigDecimal result = pointBetween.add(new BigDecimal(begin)).setScale(2, BigDecimal.ROUND_FLOOR);
  • return result.floatValue();
  • }

步骤解释:

  1. 计算两个值之间的差值,difference
  2. 生成随机比例:point
  3. 将 随机比例 乘以 差值 得到 随机差值:pointBetween
  4. 最后将 较小值 加上 随机差值 或者将 较大值 减去 随机差值 获得随机数
  5. 进行小数点处理。

同理,我们也可以生成其它类型的随机数:

  • /**
  • * @Description: 生成int随机数
  • * @Author: wsp
  • * @Date: 2021/9/24 17:56
  • **/
  • public int mockIntBetween2(int begin, int end) {
  • int between = end - begin;
  • double random = Math.random();
  • int randomBetween = new Double(random * between).intValue();
  • int result = begin + randomBetween;
  • return result;
  • }
  • /**
  • * @Description: 生成long随机数
  • * @Author: wsp
  • * @Date: 2021/9/24 17:56
  • **/
  • public long mockLongBetween2(long begin, long end) {
  • long between = end - begin;
  • double random = Math.random();
  • long randomBetween = new Double(random * between).longValue();
  • long result = begin + randomBetween;
  • return result;
  • }
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门