This week's book giveaway is in the Android forum.We're giving away four copies of Head First Android and have Dawn & David Griffiths on-line!See this thread for details.
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of Head First Android this week in the Android forum!

# Generalized formula for producing numbers from Math.random()?

Hassan Naqvi
Ranch Hand

Joined: May 03, 2001
Posts: 158
Hi friends,
Is there any Generalized Formula for producing numbers from Math.random().
For example, generate numbers from 3 to 8 by using Math.random()
Regards,
Hassan.

Always Belive On Logic!!
Trevor Green
Ranch Hand

Joined: May 30, 2001
Posts: 44
You mean like:
(int)((Math.random() * 5)+2)
Dave Vick
Ranch Hand

Joined: May 10, 2001
Posts: 3244
Trevor
I think you want to add 3 to it to get a number from 3 to 8 because random return a number >= 0 and <1.
Dave

Dave
Trevor Green
Ranch Hand

Joined: May 30, 2001
Posts: 44
yep, quite right. Maths let me down there.
The key concept is (int)2.999999 = 2.
Casting to an int always rounds down.
Hassan Naqvi
Ranch Hand

Joined: May 03, 2001
Posts: 158
Hi Trevor & Dave.
I mean, can we make a generalized formula for generating numbers with our rquired range.Something like this.
(int)(Math.random() * lower limit )+ upper limit..
where lower limit is in my first post is 3 & upper limit is 8.
That is have a generalized formula in which i have to just put lower & upper limts.
Regards,
Hassan.

It is sorta covered in the JavaRanch Style Guide.

subject: Generalized formula for producing numbers from Math.random()?