esuslogo
 [To advertise Java(tm) Events here, contact joris@esus.com!]
banner

Java™
by example!






New @ Esus.com


  gb  In-house search engine for better results!

  gb  Get updates with the esus.com
newsletter!









  Home 
 Browse Categories 
 Ask a Java Question 
 Help 
  For Java Tips & Tricks, subscribe to the esus.com newsletter!
Search Java Q&A, Links, API's:   adv 

How do I generate a random integer between x and y?
lets say you have to int upperBound and lowerBound and you want to store the result in result.

the following code will give you
lowerBound <= result < upperBound


int result = lowerBound + (int) ( Math.random()*(upperBound - lowerBound) )


the following code will give you
lowerBound <= result <= upperBound


int result = lowerBound + (int) ( Math.random()*(upperBound -lowerBound) + o.5 )



Though in the second case, having a result that equals to either of lowerBound ot upperBound will be little less than other numbers in the range comparing with the algorithm in Math.random(), in most cases, that is just fine.

Hope it helps.


Further Information
Author of answer: Zakaria

Comments
Comments to this answer are only viewable by members. Login or become a member!





Terms of Service | Privacy Policy | Contact

Copyright © 2000-2003 Esus.com - All Rights Reserved 
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. Esus.com is independent of Sun Microsystems, Inc. All other trademarks are the sole property of their respective owners.