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

10PCS MOSFET Transistor IR/IRF TO-220 IRFB31N20D IRFB31N20DPBF FB31N20D
$18.5
10PCS MOSFET Transistor IR/IRF TO-220 IRFB31N20D IRFB31N20DPBF FB31N20D pictureSENCORE Transistor FET Tester Model TF 17 A
$85.0
SENCORE Transistor FET Tester Model TF 17 A  pictureToshiba Transistor Inverter AC Drive Motor VFSX-2037P1Y-A11 A74L-0001-0089 3.7kW
$409.99
Toshiba Transistor Inverter AC Drive Motor VFSX-2037P1Y-A11 A74L-0001-0089 3.7kW picture10pcs SMD S8550 TO-92 NPN Tube Kit Silicon(Si) Semiconductor Electronic
$0.99
10pcs SMD S8550 TO-92 NPN Tube Kit Silicon(Si) Semiconductor Electronic pictureAbbott Transistor Pt#27009 BID 79A Power Supply New Old Stock Great Condition
$99.95
Abbott Transistor Pt#27009 BID 79A Power Supply New Old Stock Great Condition picture






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