Как организовать random без повторений на java?

Пользователь

от sylvester , в категории: Java , 3 месяца назад

Как организовать random без повторений на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от keyon.brown , 2 месяца назад

@sylvester 

Вы можете использовать классы Random и ArrayList для организации генерации случайных чисел без повторений на языке Java. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.*;

public class RandomNumbers {
    public static void main(String[] args) {
        // Создание объекта класса Random
        Random random = new Random();
        
        // Создание списка чисел
        List numbers = new ArrayList<>();
        
        // Добавление чисел в список
        for (int i = 1; i <= 10; i++) {
            numbers.add(i);
        }
        
        // Генерация случайных чисел без повторений
        while (!numbers.isEmpty()) {
            // Получение случайного индекса
            int randomIndex = random.nextInt(numbers.size());
            
            // Получение случайного числа по индексу
            int randomNumber = numbers.get(randomIndex);
            
            // Вывод числа
            System.out.println(randomNumber);
            
            // Удаление числа из списка
            numbers.remove(randomIndex);
        }
    }
}


В этом примере происходит генерация случайного числа без повторений от 1 до 10. Сначала числа добавляются в список numbers, а затем случайным образом выбираются и выводятся в консоль. Когда число выбирается, оно удаляется из списка, чтобы не повторяться. Это позволяет гарантировать, что каждое число будет выбрано только один раз.