2016-04-06 8 views
2

java.util.Randomをインポートすると、ランダムな整数とランダムな2つの方法の両方を生成できます。ランダムなクラスのオブジェクトを作成するか、乱数を生成するためにMath.random()を使用する

あなたはそれが0以上であるが、10未満

int randomInteger = randomGenerator.nextInt(10); 
double randomDouble = randomGenerator.nextDouble(10); 

ランダムクラスのインスタンス

Random randomGenerator = new Random(); 

を作成し、ランダムな整数を生成するためにそれを使用するか、ダブル可能性あなたはまた、私は両方の方法はまったく同じを与えると思いますMath.random()

int randomInteger = (int)(Math.random() * 10) 
double randomDouble = Math.random() * 10 

を使用することができます結果。 これらの2つの方法のどちらか一方が他方より優先されることはありますか?

+0

最初はもっと包括的で簡単です。 – Zulfe

+0

どちらもありません。 http://stackoverflow.com/q/29698704/3973077 –

答えて

1

Math.random()は、Randomクラスを使用します。基本的には、MathクラスのRandomオブジェクトでnextDouble()を呼び出しています。

ただし、最初の方法はわかりやすく使いやすいです。数学クラスにはさらに多くの選択肢があります。だからあなたは乱数がたくさん必要な場合、またはあなたがダブル以外の型を必要とするならば、私はRandomクラスに行きます。そして、私は0と1の間の倍数だけが必要なときはMath.random()を使います。

基本的にメソッドの仕方に違いはありません。どちらもRandomクラスを使います。だからあなたが使用する2つの方法は、私が上記のような状況に依存します。ランダム方式のMathクラスのjavadocから

このメソッドが最初に呼び出されたとき、それは正確に表現

新しいことであるかのように、単一の新しい擬似乱数ジェネレータを作成しますjava.util.Randomの()Math.random上のjavadocのページへ

リンク():https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#random()

I Hこれが役に立ちます:

関連する問題