Inspectopedia
 
2024.3

'Math.random()' cast to 'int'

Warning
New
Last modified: 03 December 2024

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:

After the quick fix is applied: