您当前的位置:首页 > 计算机 > 编程开发 > Java

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

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

首先以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;
}
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门