[解決済み] Javaでランダムなブーリアンを取得する
2022-02-12 06:37:37
質問
さて、このSOの質問を私のコードに実装してみました。 ランダムで真偽を返す
しかし、不思議な挙動があります。同時に10個のインスタンスを実行する必要があるのですが、どのインスタンスも1回の実行で1回だけ真か偽を返します。そして、驚くべきことに、私が何をしようとも、毎回、単に
false
少なくとも50%程度の確率で
true
?
もっとわかりやすくするために。私は自分のアプリケーションをJARファイルにビルドし、それをバッチコマンドで実行します。
java -jar my-program.jar
pause
プログラムの内容 - できるだけシンプルにすること。
public class myProgram{
public static boolean getRandomBoolean() {
return Math.random() < 0.5;
// I tried another approaches here, still the same result
}
public static void main(String[] args) {
System.out.println(getRandomBoolean());
}
}
10個のコマンドラインを開いて実行すると
false
という結果になります。
解決方法は?
を使うことをお勧めします。
Random.nextBoolean()
とはいうものの
Math.random() < 0.5
も動作します。以下は私のマシンでの動作です。
$ cat myProgram.java
public class myProgram{
public static boolean getRandomBoolean() {
return Math.random() < 0.5;
//I tried another approaches here, still the same result
}
public static void main(String[] args) {
System.out.println(getRandomBoolean());
}
}
$ javac myProgram.java
$ java myProgram ; java myProgram; java myProgram; java myProgram
true
false
false
true
があることは言うまでもありません。 無保証 毎回異なる値を得ることができます。しかし、あなたの場合、私は次のように考えています。
A) 自分が思っているようなコードで作業していない(間違ったファイルを編集しているなど)。
B) テスト時に異なる試みをコンパイルしていない、または
C) 非標準の壊れた実装で作業している。
関連
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】koch snowflake java recursion
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み] テスト
-
[解決済み】どういう意味か。Serializableクラスがstatic final serialVersionUIDフィールドを宣言していないとは?重複している] [重複している] [重複している] [重複している