for (int c=1; c<=6; c++)
{
int a=(int)(Math.random()*37+1);
int b=(int)(Math.random()*8+1);
System.out.print (a+" ");
if (c==6) System.out.println ("- "+b);
}
I can't have the same number twice
please help
Printable View
for (int c=1; c<=6; c++)
{
int a=(int)(Math.random()*37+1);
int b=(int)(Math.random()*8+1);
System.out.print (a+" ");
if (c==6) System.out.println ("- "+b);
}
I can't have the same number twice
please help
Then you need to save the previous numbers. When you get the next random number, check if you've saved it, if not save and return it, else get another number.Quote:
I can't have the same number twice
How and where you save the the previous numbers depends on the range of the numbers. With a small range you could use a boolean[] array.
I didn't really understand... can you put it in the code please?
Here's a simple example:
Say there is a max of 20 values being generated: 0-19
Code :
boolean[] savePastNbrs = new boolean[20]; // define an array to detect if a number has been used (init to false) start loop ...generate aNbr in range 0 to 19 if(!savepastNbrs[aNbr]) { // true if not saved yet savePastNbrs[aNbr] = true; // remember this number used return aNbr; // ok to use this one } end loop