lundi 2 décembre 2019

Trying to get non-repeating random numbers with arrays

I reattempted my previous problem by including an array. The program has no errors but the numbers still repeat. Here is my code:

public static String ball() {
        String var = null;
        int ranVar[] = new int[75];
        final Random ran = new Random();
        int temp;

        for (int i = 0; i < ranVar.length; i++) {
            do {
                temp = ran.nextInt(74) + 1;
            } while (match(temp, ranVar));
            ranVar[i] = temp;
            if (ranVar[i] <= 15) {
                return var = "B" + ranVar[i];
            } else if (ranVar[i] <= 30) {
                return var = "I" + ranVar[i];
            } else if (ranVar[i] <= 45) {
                return var = "N" + ranVar[i];
            } else if (ranVar[i] <= 60) {
                return var = "G" + ranVar[i];
            } else if (ranVar[i] <= 75) {
                return var = "O" + ranVar[i];
            }

        }

        return null;
    }

    private static boolean match(int temp, int var[]) {
        for (int i = 0; i < var.length; i++) {
            if (temp == var[i]) {
                return true;
            }
        }
        return false;
    }

Thanks for any help.




Aucun commentaire:

Enregistrer un commentaire