У меня есть приложение, в котором я рандомизирую 5 различных целых чисел (первое сгенерируется после запуска действия, остальные 4 - после нажатия кнопки), чтобы использовать их в качестве идентификатора для получения результатов из базы данных SQLite.
Проблема в том, что я не хочу, чтобы эти числа повторялись, поэтому я создал массив и цикл, чтобы избежать этого, но он не работает должным образом, фактически он ничего не делает.Код выглядит следующим образом:
int[] repeatArray = new int[5];
Integer contRep=0;
Integer myInt=0;
randomizeData();
if(contRep==0){
repeatArray[0]=myInt;
}else{
for (int i=0;i<repeatArray.length;i++){
while(myInt==repeatArray[i]){
randomizeData();
}
}
repeatArray[contRep]=myInt;
}
contRep++;
public void randomizeData(){
myInt = r.nextInt(27 - 1) + 1;
}
Первый уже создан, поэтому, когда я нажимаю кнопку, contRep
равен 1, а первое число уже сохраняется в этом массиве.Обратите внимание, что всякий раз, когда я нажимаю кнопку, выполняется код сверху.Я думаю, что цикл работает нормально, но я все еще иногда получаю дубликаты.Что я делаю не так?