java - 以特定数字为增量生成双随机数

标签 java

 private static double getSliceQuantityinRange(double min, double max) {
    double range = max - min;
    double scaled = randomGenerator.nextDouble() * range;
    double shifted = scaled + min;
    return Double.valueOf((df.format(shifted)));
  }

最小值和最大值将以百万为单位。这给出了一个范围之间的随机数。但我想要的是步长为 100,000 ( 100000) 的随机数。如何实现这一目标?

最佳答案

这是一个例子:

public static void main(String[] args) {
    System.out.println(getSliceQuantityinRange(35000000, 52000000, 100000));
}

private static double getSliceQuantityinRange(double min, double max, double step) {
    int range = (int)((max - min) / step);
    double scaled = randomGenerator.nextInt(range) * step;
    double shifted = scaled + min;
    return Double.valueOf((df.format(shifted)));
}

关于java - 以特定数字为增量生成双随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33359359/

相关文章:

java - 如何在 Java 中创建一个类的方法数组

java - JSON 架构与开放 API - Java 支持

java - 解决间歇性垃圾收集问题 - Java

java - 如何从 Scala/Java 执行 OCaml 代码?

java - 斯坦福主题建模工具箱 : not being able to compile with maven

java - 计算两个数组中的元素数量

java - 使用Tritonus AudioSystem:将PCM byte []数组转换为mp3 byte []数组

java - JUnit - 分享不同实现的测试

java - 在顺序排序的流中查找丢失的整数

java - Postgres 中字段 TIMESTAMP NOT TIME ZONE DEFAULT CURRENT_TIMESTAMP 的 JPA 模型类?