2016-10-22 14 views
0

Javaプログラムで乱数ジェネレータを実装しようとしています。私はMath.random()を使用していましたが、それはうまく動作していないようです。それから、SecureRandomを使ってみましたが、それは私のゲームには長すぎます。しかし、私はこのジェネレーター、MersenneTwisterRNG乱数ジェネレーターに遭遇しました。それは私が望んでいるようです。高速ですが、まだランダムです。MersenneTwisterRNG乱数ジェネレータの使い方

しかし、私は非常に長く、わずか2ヶ月間Javaで書いていないので、APIの頭や尾を作ることはできません。誰かが私のコードでこれを使う方法を私に説明するのを助けることができたら、それは認められるでしょう。あるいは、より簡単で類似した乱数ジェネレータについて知っていれば、私もそれに興味があります。 APIはhereです。これは、あなたが彼らの短い名前を使用してクラスにアクセスすることができます

import java.util.Random; 
import org.uncommons.maths.random.MersenneTwisterRNG; 

:どのようにMersenneTwisterRNGのAPIを使用する

+0

「Math.random()」は「うまくいっていない」とはどういう意味ですか?何が間違っていたのですか?具体的な経験や例を挙げてください。 – Nayuki

答えて

1

Random rand = new MersenneTwisterRNG(); 

これにより、新しいMersenneTwisterRNGが作成されます。私たちはRandomタイプの変数に入れて、必要に応じて簡単に別のRNGに交換することができます。

double x = rand.nextDouble(); 

これはMath.random()と同じように動作し、0.0〜1.0の間の倍精度浮動小数点数を返します。

int n = rand.nextInt(10); 

これは0(含む)の間の乱数を生成し(包括的)9、即ち0 < = N < 10これは整数アルゴリズムの多くに有用です。

+0

パッケージorg.uncommons.maths.randomが存在しないというエラーが表示されます。なぜ私はこれを取得している可能性がありますか? – acn3

+0

コードをダウンロードしてプロジェクトディレクトリに入れましたか? – Nayuki

+0

いいえ、私はそれをすることを知らなかった。ありがとうございました。私は以前はサブクラスを使用していません。 – acn3

関連する問題