hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..

Как в java сгенерировать 4 неповторяющих числа?

Как получить 4 случайных числа в определенном диапазоне, и что-бы они не повторялись? Понимаю, что алгоритм простой, но котелок сегодня уже не варит, а решение нужно сегодня. Спасибо.
  • Вопрос задан
  • 2662 просмотра
Пригласить эксперта
Ответы на вопрос 3
DR_Demons
@DR_Demons
Set<Integer> generated = new HashSet<Integer>();
Random r = new Random();
while (generated.size() < 4) {
generated.add(r.nextInt(10) + 1);
}
Ответ написан
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
java stdlib не владею, но в общем случае я бы генерировал одно из другого
Ответ написан
de43gy
@de43gy
Короче очень кривой код (дико извиняюсь), но смысл таков, что есть метод, с проверкой на совпадение.
public class Main {
    static int arraySize = 4;
    static int maxNumber = 10;
    static int array[];
    public static void main(String[] args) {
        Random random = new Random();
        array = new int[arraySize];
        for (int i = 0; i < arraySize; i++) {
            do {
                array[i]=random.nextInt(maxNumber);
            } while (coincidenceChecking(array[i],i));
        }
    }
    static boolean coincidenceChecking(int num, int numArray) {
        for (int i = 0; i < numArray; i++) {
            if (array[i] == num) return true;
        }
        return false;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы