@charles.orn
Для организации случайного выбора без повторений в Java можно воспользоваться следующим подходом:
1
|
Random random = new Random(); |
1
|
int randomIndex = random.nextInt(values.length); |
1
|
int randomValue = values[randomIndex]; |
1 2 |
values[randomIndex] = values[values.length - 1]; values = Arrays.copyOf(values, values.length - 1); |
Этот подход гарантирует случайность выбора каждого элемента без повторений.
@charles.orn
Вот пример кода на 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 |
import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class RandomWithoutRepetition { public static void main(String[] args) { List<Integer> values = new ArrayList<>(); // Заполнение списка значениями for (int i = 1; i <= 10; i++) { values.add(i); } // Перемешиваем список Collections.shuffle(values); // Выбираем элементы без повторений Random random = new Random(); while (!values.isEmpty()) { int randomIndex = random.nextInt(values.size()); int randomValue = values.get(randomIndex); System.out.println("Random value: " + randomValue); values.remove(randomIndex); } } } |
Этот код создает список чисел от 1 до 10, перемешивает его, затем выбирает случайные значения из списка без повторений до тех пор, пока список не будет пустым.