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);
    }
}
 
     
     
    