0
Random r = new Random();
int i1 = r.nextInt(max - min + 1) + min;
私はそれを試みましたが、それでも使用されているロジックについては混乱しています。私は最後に乱数に最小値を追加する理由を知りたいのですか?Javaの乱数を選択する
Random r = new Random();
int i1 = r.nextInt(max - min + 1) + min;
私はそれを試みましたが、それでも使用されているロジックについては混乱しています。私は最後に乱数に最小値を追加する理由を知りたいのですか?Javaの乱数を選択する
Random#nextInt(n)
は、0とn-1
の間のランダムな整数を返します。戻り値r.nextInt(max - min + 1)
にmin
を追加すると、結果はmin
とmax
の間のランダムな整数になります。
次の表は、ロジックを少し明らかにするかもしれません:あなたはたとえば4を追加する場合は、nextInt` `の最小値は0である値を追加しない場合
Expression | smallest value | largest value
--------------------------------+------------------+-------------------
r.nextInt(max - min + 1) | 0 | max - min
--------------------------------+------------------+-------------------
r.nextInt(max - min + 1) + min | min | max
--------------------------------+------------------+-------------------
、最小値は4になります。 –