I have a method which is generating random integers. I don't want integers to be repeated, so I created this code -
int prevInt = 0;
private int randomInt() {
    int random = (int) (Math.random() * 3);
    //generate random numbers between 0 to 3 inclusive
    if(random == prevInt)
        return randomInt();
    //if previous random number is equal to currently generated
    //random number, then call this method again for a different
    //random number
    prevInt = random;
    return random;
    //else return the generated random number
}
Is the above code safe to use? At worst case scenario, can it be possible that all random integers generated by Math.random() * 3 are same?
 
     
     
     
     
     
     
    