Inspectopedia Help

'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.


int r = (int)Math.random() * 10;
int r = (int)(Math.random() * 10);

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.14841

Last modified: 12 March 2024