Java API には、0 (含む) から n (含まない) までの整数を生成する方法がありますが、2.0 から 3.0 などの特定の範囲を指定して、double 値の乱数を生成する方法はありません。これはどのように行うことができますか?
double x = 0.7 + Double.valueOf(Math.random()*(9.0-0.7)).intValue();
その結果、タイプ .7 の数はほんのわずかです。
あなたは非常に近いですが、intValue()
呼び出しは不要であり、Double.valueOf( String )
呼び出しはコンパイルさえすべきではありません。
public double random( double min, double max )
{
double diff = max - min;
return min + Math.random( ) * diff;
}
代わりにランダムクラスを試しましたか? http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html float、double...のメソッドがあります。