До сих пор мне удавалось генерировать случайные числа, используя Random.
for(int i=0; i<10; i++){
prevnum = num;
num = random.nextInt(4);
num = num==prevnum?ran.nextInt(4):num;
System.out.println("random number: " + num);
}
Я не хочу последовательных повторов, что мне делать?
EDIT / РЕШЕНИЕ:
Я решил проблему с помощью этого обходного пути.
Путем проверки, запущен ли он впервые, чтобы избежать нулевого исключения.
И просто использовал ArrayList, чтобы удалить любые шансы на повторение, удалив предыдущее случайно сгенерированное число из небольшого пула / диапазона.
public void printRandom(){
for(int i=0; i<10; i++){
if(firstrun){
firstrun=false;
num = random.nextInt(4);
System.out.println(num);
} else{
num = getRandom(num);
System.out.println(num);
}
}
}
int getRandom(int prevNum){
ArrayList choices = new ArrayList(Arrays.asList(0, 1, 2, 3));
choices.remove(prevNum);
return (int) choices.get(random.nextInt(3));
}