Math.random()メソッドを使用して、3つのビットマップのうちの1つを多くのオブジェクトに割り当てて、乱数を呼び出してスクリーン上に表示されたときにそれらがすべて異なって見えるようにしてから、その数値が0 1つはオブジェクトごとに1つですが、同じビットマップのようなパターンが何度も連続して表示されています。そして、このようなことをランダム化する良い方法はありますか?JavaのMath.random()メソッドは本当にランダムですか?
1
A
答えて
1
「本当に」ランダムではありませんが、「十分にランダム」です。大気騒音のような真のランダムな音源はほとんどありません。おそらく、ビットマップを作成するために使用するメソッドは、自然に同様のパターンを作成します。
0
JDK1.7 doc:返された値は、その範囲から(ほぼ)一様分布で擬似ランダムに選択されます。
1
毎回異なるシーケンスが生成されるようにシードを使用する必要があるかもしれないと思います。ランダムの2つのインスタンスが同じシードで作成され、メソッド呼び出しの同じシーケンスがそれぞれのために作られている場合、彼らは生成し、数字の同一の配列を返します
(https://docs.oracle.com/javase/7/docs/api/java/util/Random.html)を参照してください。このプロパティを保証するために、特定のアルゴリズムがクラスに指定されています。ランダム
シードを使用すると、同じ結果を生成したり、異なるシードを使用したりすることで、異なる番号シーケンスが生成されることが保証されます。
2
標準のJava RNGよりも「ランダムな」ものが必要な場合は、暗号化RNGを使用する必要があります。これは遅くなり、RNGはさまざまな内部システム入力と提供する任意のシードを取りますので、シードを設定することで同じランダムシーケンスを繰り返すことはできません。詳細はjava.security.SecureRandom
を参照してください。
関連する問題
- 1. random.sampleは本当にランダムですか?
- 2. Java - Socket.writeObject()は本当に遅いです
- 3. Java "fake" math.random()
- 4. Java Math.random period
- 5. %RANDOM%とMath.random()とランダム性の違い
- 6. dev/urandomから本当にランダムなデータを取得する
- 7. Java Web Services、それは本当に複雑ですか?
- 8. Javaの "Math.random()"に関する問題
- 9. function(){}は本当ですか?
- 10. 本当に大きなデータのJavaチャートライブラリですか?
- 11. どのようにランダムにMath.random()Javaで異なるjvmsまたは別のマシンを越えて
- 12. Java Dummyメソッド本体?
- 13. Javaアプレットのトラブル、本当にシンプル
- 14. アーランは本当に速いですか?
- 15. Monoは本当にクロスプラットフォームですか?
- 16. AngularJSは本当にMVCですか?
- 17. CDATAは本当に必要ですか?
- 18. EditorReuseAttributeは本当に何ですか?
- 19. 本当に原子は何ですか?
- 20. `CreateProcess`は本当にスレッドセーフですか?
- 21. SyncRootオブジェクトは本当にスレッドセーフですか?
- 22. QtWebKitは本当にクロスプラットフォームですか?
- 23. これは本当にリソースリークですか?
- 24. Vimは本当にいいですか?
- 25. KillTimerは本当に必要ですか?
- 26. awakeFromNibは本当に何ですか?
- 27. Backbone.jsは本当にMVCですか?
- 28. EF4クラスは本当にPOCOですか?
- 29. XHTMLは本当にXtensibleですか?
- 30. local_variables_initializerは本当に必要ですか?
'' ...これは私がパターンがないところを探しているだけなのですか? '' - かなり可能性があります。 'Math.random()'は決して "真にランダム"になることはできませんが、その(そしてほとんどの)プログラムのニーズを満たすのに十分なランダム*でなければなりません。 –
どのように課題を実行していますか? 3つのビットマップのどれにも本当に等しい確率がありますか? –