What is the difference between Math.random() * n and Random.nextInt(n) where n is an integer?
Math.random() * n
Random.nextInt(n)
n
another important point is that Random.nextInt(n) is repeatable since you can create two Random object with the same seed. This is not possible with Math.random().