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,我想知道问题出在哪里?它甚至可以工作吗?我花了很多时间在这上面,我放弃了。我想我需要对代码进行一些小的调整:)