# need help with code

• September 3rd, 2010, 02:20 PM
bardd
need help with code
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
• September 3rd, 2010, 02:36 PM
Norm
Re: need help with code
Quote:

I can't have the same number twice
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.

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.
• September 3rd, 2010, 02:50 PM
bardd
Re: need help with code
I didn't really understand... can you put it in the code please?
• September 3rd, 2010, 03:28 PM
Norm
Re: need help with code
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```