I'm trying to generate 4 random numbers without duplicates, using a loop, but I get an ArrayIndexOutOfBoundsException
. Can someone please explain why?
// SECRET ANSWER
int secret[] = new int[4];
for (int i = 0; i < secret.length; i++) {
secret[i] = (int) (Math.random() * 6 + 1);
if (secret[i] == secret[i + 1] || secret[i] == secret[i + 2] || secret[i] == secret[i + 3]) {
secret[i] = (int) (Math.random() * 6 + 1);
}
if (secret[i + 1] == secret[i + 2] || secret[i + 1] == secret[i + 3]) {
secret[i] = (int) (Math.random() * 6 + 1);
}
if (secret[i + 2] == secret[i + 3]) {
secret[i] = (int) (Math.random() * 6 + 1);
}
}