Proper use of Java's Math.random() function?
I have a quick question about how to use the function Math.random() properly.
Lets say I wanted to make a random number between 1 and 10, I know to do this I need to use the following code;
(int)(Math.random() * 10) + 1
Is the "+ 1" at the end is necessary seeing as I already have "(int)" at the front? And if I were to take out the "+ 1" would it create a random number between 0 and 10, instead of 1 and 10?
- modulo_functionLv 78 years agoFavorite Answer
As Baatus says, if you want random ints it's better to use the random class:
Random rand = new Random();
int rNum = rand.nextInt(10) + 1;
returns 0 through k-1, inclusive. So nextInt(10) is 0-9, adding the 1 gives 1-10.
don't forget to
- ?Lv 58 years ago
actually .random() returns a number between 0 and 1 and is actually real. You multiply by the end of the interval and add the begining. So for example if I wanted to generate a number between 3 and 20 I would use
Math.random() * 20 + 3
basically it's .random() * max + min
since it's between 0 and 1. So the 1 turns into the max and you push the 0 to wherever you need (like 1 or 3 etc.)
- Anonymous8 years ago
I always do
Random r=new Random();
int i= r.nextInt(10)+1;