2017-12-12 4 views
0

私は番号57と48、90と65の間の乱数を取得しようと、122だと97Math.randomは私が探している範囲内の変数を与えていないのですか?

(int) (Math.random * (max-min) + 1); 

これは通常動作しますが、私は上記の数字

を得るためにそれを使用します
(int) (Math.random() * (57-48) + 1); 
(int) (Math.random() * (90-65) + 1); 
(int) (Math.random() * (122-97) + 1); 

私はずっと小さい変数で巻き上げます。 (例:5,14,3,15、および8)。

なぜこれらの特定の番号では機能しないのかわかりません。

+3

代わりに 'java.util.Random'を使用してみませんか?整数を必要とするときには、もっと便利です。 – Kayaman

+2

あなたのアプローチは根本的に欠陥があります。あなたは1分ではなく、「分」を追加する必要があります... –

+0

(57-48)+ 1の代わりに(57-48)+ 48をする必要がありますか? –

答えて

1
return Math.floor(Math.random() * (57 - 48 + 1)) + 48; 
return Math.floor(Math.random() * (90 - 65 + 1)) + 65; 
return Math.floor(Math.random() * (122 - 97 + 1)) + 97; 

これはあなたのためにそれをするのでしょうか?

+0

スタックオーバーフローに関する良い答えには、問題の内容とその答えがどのように問題を解決するかについての説明が含まれている必要があります。 –

関連する問題