Re: Random Int between x and y
Re: Random Int between x and y
- Subject: Re: Random Int between x and y
- From: Ray Ackland <email@hidden>
- Date: Thu, 11 Mar 2004 12:36:31 +1300
I wouldn't use the % function to generate the random number. From my
own experience (which I couldn't figure out until I heard it from
someone else) the numbers generated that way are very NOT uniform.
That is, the least significant digits of the generated numbers aren't
uniformly distributed. In fact, they are really badly proned to favour
particular figures. Better to use a function that divides the range of
the random number into the range of (x, y + 1).
Regards,
Ray.
On 11/03/2004, at 6:07, Jonathan Rochkind wrote:
At 2:46 PM +0100 3/10/04, David Griffith wrote:
Hi all,
Is there an easy way to generate a random int in the range x <= int
<= y?
I have found a couple of methods but they don't appear to do what I
need.
I'm sure there's a simple answer....
There are probably a number of ways to do it, using standard Java API,
or third party frameworks. Here's the method I use. Note that it's
definitely not a cryptographically secure random number, it's just a
reasonably pseudo-random number.
public static int randomIntBetween( int x, int y )
{
int tempInt, returnVal;
java.util.Random r = new java.util.Random();
tempInt = Math.abs( r.nextInt() % ( Math.abs( x - y ) + 1 ) );
if ( x > y ) returnVal = tempInt + y;
else returnVal = tempInt + x;
return returnVal;
}
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.