Надо, что бы возвращаемое число никогда не совпадало с предыдущим, то есть что бы никогда не выподало два одинаковых числа подряд:
int old = -1;
int rand(int max){
Random random = new Random();
int rnd;
do{
rnd = random.nextInt(max);
if (rnd == old) {
old = rnd;
continue;
}
} while (rnd == old);
return rnd;
}