posted 7 years ago
Math.random() is a good place to start. If that doesn't suit your needs, then java.util.Random should be your next stop.
Math.random() generates a double between 0 and 1 (including 0, but not 1). As T Dahl suggested, you can multiply this value by some factor to increase your range, then shift that range by adding or subtracting.
Math.random() generates a double between 0 and 1 (including 0, but not 1). As T Dahl suggested, you can multiply this value by some factor to increase your range, then shift that range by adding or subtracting.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
posted 7 years ago
In general, for any function f that returns a value between a and b, to get a value between c and d apply the following calculation: (f(x)  a) / (b  a) * (d  c) + c.
The subtraction of a gives you a value between 0 and (b  a).
The dividing by (b  a) gives you a value between 0 and 1 (provided b != a).
The multiplication gives you a value between 0 and (d  c).
The addition of c gives you a value between c and d.
In this case, a == 0 and b == 1, so you are left with Math.random() * (d  c) + c.
The subtraction of a gives you a value between 0 and (b  a).
The dividing by (b  a) gives you a value between 0 and 1 (provided b != a).
The multiplication gives you a value between 0 and (d  c).
The addition of c gives you a value between c and d.
In this case, a == 0 and b == 1, so you are left with Math.random() * (d  c) + c.
SCJP 1.4  SCJP 6  SCWCD 5  OCEEJBD 6  OCEJPAD 6
How To Ask Questions How To Answer Questions
WHAT is your favorite color? Blue, no yellow, ahhhhhhh! Tiny ad:
The WEB SERVICES and JAXRS Course
https://coderanch.com/t/690789/WEBSERVICESJAXRS
