Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

randon number

 
john mor
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I try to print out 6 random numbers from 40 numbers
ex( 20,5,1,40,31,29)
the program which I have writen is ok, but I don't want that the program writes a random number more than one time.
ex 20,5,1,40,31,29) is ok
ex 20,5,5,40,31,29) is wrong. // how do I fix it?
 
Mark Van Tuyl
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Once a number has been selected, set it to -1 (or some other invalid value). Before displaying a number, make sure it's valid. Otherwise, select another.
 
john mor
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If I want to print out 6 nbrs

for(int i=0; i<6; i++)
and set a nbr to -1
the program dose not print out 6 different nbr, may be 5 or 4 nbrs.
 
Mark Van Tuyl
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Correct. If you have selected an invalid number, you must decrement the counter.
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15356
39
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What does your code look like? How do you store those 40 numbers in your program; in an array or one of the Java collections?

If you have the numbers in a java.util.List, you can use the method java.util.Collections.shuffle(...) to shuffle the elements in the list, and then you just take the first 6 numbers out of the shuffled list.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic