I recently came across the
Math.random( )
class in Java. (And) I was wondering about the class. For example, I'm trying to write a dice game that needs random numbers from 1 to 6 each "roll". This is where math.random( ) comes in. This line of code:
int random_num = (int) (Math.random() * 6) + 1;
CAN generate random numbers between 1 to 6.
My problem lies at
(Math.random() * 6)
here.
I know how this code works, how Math.random() generates a double value between 0.0 to 1.0. And how it multiplied by 6, and was rounded in the end.
I was however, puzzled why a random number (say 0.78396954122) multiplied by 6 could become a random number between 1 to 6. Supposedly the random number 0.78396954122 multiplied by 6, is always 6, right? There's no way a 2.78396954122 can suddenly pop up!
I'm a complete noob at Java and would appreciate if you could help explain this.
Thanks...in advance!