All Downloads are FREE. Search and download functionalities are using the official Maven repository.

errorprone.bugpattern.RandomModInteger.md Maven / Gradle / Ivy

The newest version!
`Random.nextInt() % n` has

*   a 1/n chance of being 0
*   a 1/2n chance of being each number from `1` to `n-1` inclusive
*   a 1/2n chance of being each number from `-1` to `-(n-1)` inclusive

Many users expect a uniformly distributed random integer between `0` and `n-1`
inclusive, but you must use random.nextInt(n) to get that behavior. If the
original behavior is truly desired, use `(random.nextBoolean() ? 1 : -1) *
random.nextInt(n)`.




© 2015 - 2025 Weber Informatics LLC | Privacy Policy