[解決済み] Math.random()の説明
2022-06-16 17:48:10
質問
これは非常に簡単なJavaの問題です(おそらくすべてのプログラミングに適用可能ですが)。
Math.random()
は0から1までの数値を返します。
0から100までの整数を返したい場合は、こうします。
(int) Math.floor(Math.random() * 101)
一と百の間、私ならそうする。
(int) Math.ceil(Math.random() * 100)
しかし、3から5までの数字を取得したい場合はどうでしょうか?次のような記述になるのでしょうか。
(int) Math.random() * 5 + 3
について知っている
nextInt()
で
java.lang.util.Random
. しかし、私はこの方法を
Math.random()
.
どのように解決するのですか?
int randomWithRange(int min, int max)
{
int range = (max - min) + 1;
return (int)(Math.random() * range) + min;
}
の出力
randomWithRange(2, 5)
を10回出力します。
5
2
3
3
2
4
4
4
5
4
境界は包括的、つまり[2,5]、そして
min
よりも小さくなければなりません。
max
よりも小さくなければなりません。
EDITです。
もし、誰かがバカなことをしようとして、逆に
min
と
max
に変更することができます。
int randomWithRange(int min, int max)
{
int range = Math.abs(max - min) + 1;
return (int)(Math.random() * range) + (min <= max ? min : max);
}
EDIT2です。
についてのご質問ですが
double
の、ただです。
double randomWithRange(double min, double max)
{
double range = (max - min);
return (Math.random() * range) + min;
}
そしてまた、あなたが馬鹿にしたいならそれはちょうど
double randomWithRange(double min, double max)
{
double range = Math.abs(max - min);
return (Math.random() * range) + (min <= max ? min : max);
}
関連
-
エラー java.util.NoSuchElementException
-
Java Error スレッド "AWT-EventQueue-0" で例外発生 java.lang.
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
SpringBootApplication を型解決できない。
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
プロローグでのコンテンツは禁止されています
-
JQuery DataTable 详解
-
spring-boot 401 このリソースにアクセスするには完全な認証が必要です エラー解決
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] 比率を維持したまま、数値範囲を別の範囲に変換する。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
プロローグでのコンテンツは禁止されています
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
プロジェクトの依存関係を解決できなかった 解決
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 0 at One1.main(One1.java:3)
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
linux run jarfile Invalid or corrupt jarfile error.
-
javaでよく使われる英単語
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
java 例外。Javaツールの初期化
-
コミットには何も追加されないが、未追跡のファイルが存在し、gitで未追跡のファイルに対する完璧な解決策