Java api有一个关于如何生成0(包括)和n(不包括)之间的整数的方法,但是没有一种方法来生成随机数的double值,给定一定的范围,比如2.0到3.0。怎么办呢?
double x = 0.7 + Double.valueOf(Math.random()*(9.0-0.7)).intValue();
结果只有少数类型.7
答案 0 :(得分:2)
你非常接近,但intValue()
调用是不必要的,Double.valueOf( String )
调用甚至不应该编译。
public double random( double min, double max )
{
double diff = max - min;
return min + Math.random( ) * diff;
}
答案 1 :(得分:1)
标记的答案排除最大值(nextDouble的最大值为0.9)。作为附注,我想提出我的答案,包括最大值。
public double randomDouble(double min, double max) {
double divider = 1.1111111111111111111111111111111;
double num = min + (random.nextDouble() * ((max - min) * divider));
return num2;
}
答案 2 :(得分:0)
您是否尝试过Random类? http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html 有浮动方法,双重...