@Drunya2018

Java. Как написать рандом с исключением?

Подскажите, пожалуйста. Мне нужно чтобы в переменную присваивался рандомный индекс массива, кроме определенного. Как это реализовать?
  • Вопрос задан
  • 409 просмотров
Решения вопроса 1
@carabia
Если я правильно понял Вашу задачу

int[] array = {1, 2, 3};

int badIndex = 1;
int variable;

int i;

Random random = new Random();

do {
    i = random.nextInt(array.length);
}while (i == badIndex);

variable = i;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Создаете массив допустимых индексов, кидаете рандом от 0 до размера этого массива, берете этот случайный элемент массива - он и будет индексом.
Псевдокодом как то так:
int[] validIndexes = {0,1,2,5,6,7,9,10};
int random = random.nextInt(validIndexes.length);
int validIndex = randomIndexes[random];
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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