'Math.random()' cast to 'int'
Reports calls to Math.random()
which are immediately cast to int
.
Casting a double
between 0.0
(inclusive) and 1.0
(exclusive) to int
will always round down to zero. The value should first be multiplied by some factor before casting it to an int
to get a value between zero (inclusive) and the multiplication factor (exclusive). Another possible solution is to use the nextInt()
method of java.util.Random
.
Example:
int r = (int)Math.random() * 10;
After the quick fix is applied:
int r = (int)(Math.random() * 10);
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023