static int n = -1;
private static int repeatBuffer[] = new int[10];
static {
repeatBuffer[0] = 0;
//and more
repeatBuffer[9] = 9;
}
static public void randomize() {
do {
Random r = new Random();
randomNumber = r.nextInt(20);
} while (!uniqueInt(randomNumber));
Log.e(TAG, "" + randomNumber); //here I need have a unique int
}
private static Boolean uniqueInt(int random) {
for (int i = 0; i < 9; i++) {
if (random == repeatBuffer[i]) {
return false;
}
}
if (++n > 9)
n = 0;
repeatBuffer[n] = random;
return true;
}
Иногда я получаю то же самое int дважды, мне интересно, где проблема? И это даже работает? Я трачу на это много времени, и я сдаюсь. Я думаю, что мне нужны некоторые мелкие хитрости в коде :)Как получить уникальный случайный int?
random! = Unique – thepoosh