diff options
Diffstat (limited to 'luni/src/main/java/java/util/Random.java')
-rw-r--r-- | luni/src/main/java/java/util/Random.java | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/luni/src/main/java/java/util/Random.java b/luni/src/main/java/java/util/Random.java index b0a92ff..4a67244 100644 --- a/luni/src/main/java/java/util/Random.java +++ b/luni/src/main/java/java/util/Random.java @@ -171,18 +171,18 @@ public class Random implements Serializable { * in the half-open range [0, n). */ public int nextInt(int n) { - if (n > 0) { - if ((n & -n) == n) { - return (int) ((n * (long) next(31)) >> 31); - } - int bits, val; - do { - bits = next(31); - val = bits % n; - } while (bits - val + (n - 1) < 0); - return val; + if (n <= 0) { + throw new IllegalArgumentException("n <= 0: " + n); + } + if ((n & -n) == n) { + return (int) ((n * (long) next(31)) >> 31); } - throw new IllegalArgumentException(); + int bits, val; + do { + bits = next(31); + val = bits % n; + } while (bits - val + (n - 1) < 0); + return val; } /** |