2016-10-20 4 views
0
Random r = new Random(); 
int i1 = r.nextInt(max - min + 1) + min; 

私はそれを試みましたが、それでも使用されているロジックについては混乱しています。私は最後に乱数に最小値を追加する理由を知りたいのですか?Javaの乱数を選択する

+0

、最小値は4になります。 –

答えて

1

Random#nextInt(n)は、0とn-1の間のランダムな整数を返します。戻り値r.nextInt(max - min + 1)minを追加すると、結果はminmaxの間のランダムな整数になります。

次の表は、ロジックを少し明らかにするかもしれません:あなたはたとえば4を追加する場合は、nextInt` `の最小値は0である値を追加しない場合

 Expression     | smallest value | largest value 
--------------------------------+------------------+------------------- 
r.nextInt(max - min + 1)  |  0   | max - min 
--------------------------------+------------------+------------------- 
r.nextInt(max - min + 1) + min |  min   |  max 
--------------------------------+------------------+------------------- 
関連する問題