BlackBerry Forums Support Community
              

Closed Thread
 
LinkBack Thread Tools
Old 11-11-2007, 06:45 AM   #1 (permalink)
New Member
 
Join Date: Oct 2006
Model: 8700
Carrier: Voda
Posts: 10
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default Random numbers not random?

Please Login to Remove!

Hello,

possibly a newbie question. I'm using the following method to get random numbers:

public int getRandomInt(int lowerlimit, int upperlimit){
Random generator = new Random();
generator.setSeed(System.currentTimeMillis());
// add +1 to include the upper limit
// this is bit shift to right and basicly does that there is no negative numbers so you can take mod
int nr = (generator.nextInt() >>> 1) % (upperlimit +1 - lowerlimit) + lowerlimit;
return nr;
}

However, if I call it more than once in the same run of the app I always get the same "random" number.

Any ideas?

Cheers,

R.
Offline  
Old 11-11-2007, 11:24 AM   #2 (permalink)
Thumbs Must Hurt
 
Join Date: Sep 2004
Model: 8700
Carrier: T-mo
Posts: 162
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

That's because you are setting the seed to the current millis every time you call the function. So if you call the same function within the same ms, you get the same numbers.

The proper way is create the random generator only once and keep calling nextInt() only.
Offline  
Old 11-11-2007, 06:50 PM   #3 (permalink)
Thumbs Must Hurt
 
Join Date: Jul 2007
Model: 8800
PIN: N/A
Carrier: TDC
Posts: 115
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by patrickh View Post
That's because you are setting the seed to the current millis every time you call the function. So if you call the same function within the same ms, you get the same numbers.

The proper way is create the random generator only once and keep calling nextInt() only.
i almost second that... only that your first random will always show the same number regardless of what amount of ms used... however, calling the nextInt will initiate a proper random number
Offline  
Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Vintage OEM Apple Design Powered Speakers M2497 Rainbow Logo Used Works
$39.0
 Vintage OEM Apple Design Powered Speakers M2497 Rainbow Logo Used Works pictureVintage Letterpress Print Type Ornament Apple for Teacher Adcut
$9.5
Vintage Letterpress Print Type Ornament Apple for Teacher Adcut pictureVintage Letterpress Print Type Ornament "An Apple A Day Bugs The A.M.A." Adcut
$9.5
Vintage Letterpress Print Type Ornament Vintage Simmons Howe 4 Quart Sausage Stuffer Lard Apple Wine Press 4 QT
$99.99
Vintage Simmons Howe 4 Quart Sausage Stuffer Lard Apple Wine Press 4 QT pictureVintage Letterpress Brass Printer Plate Salads Apple Cabbage Salad
$4.99
Vintage Letterpress Brass Printer Plate Salads Apple Cabbage Salad picture






Copyright 2004-2016 BlackBerryForums.com.
The names RIM and BlackBerry are registered Trademarks of BlackBerry Inc.