1

我需要使用Random对象生成随机值。它生成从 0 到 1 的值,但我想生成落入范围[0,10e-7][10e-7,1].

4

2 回答 2

3
double max, min; 
if (Math.random() > .5) { // adjust ratio of ranges here
    min = 0;
    max = .00000001;
} else {
    min = .00000001;
    max = 1;
}
double random = Math.random() * (max - min) + min;
于 2012-09-15T18:46:19.990 回答
0

您可以使用该类的nextDouble()方法Random来获取 0 到 10e-7 之间的数字。

然后,在第一种情况下,将数字除以 10e7 以获得 [0, 10e-7] 范围内的值,如果生成的值低于第二种情况的该值,则将 10e-7 添加到生成的值中。

于 2012-09-15T18:45:25.350 回答