Можно создать дубликат:
Generating Unique Random Numbers in JavaСформировать уникальное случайное число в диапазоне от 0 до 1000
Как я могу генерировать случайное число в диапазоне от 0 до 1000 и сохранить при переходе уникального случайного числа, которое получило генерируемую между 0 и 1000 для конкретного метода. Поэтому для этого я сгенерировал число от 0 до 1000 и вставил уникальное случайное число между 0 и 1000 в List, чтобы мы могли сравнить, является ли случайное число, которое мы генерируем, уже присутствует в списке или нет. Если он присутствует, то сгенерируйте его снова. Но почему-то я считаю, что нижеприведенный код не сработает.
public class Testing4 {
private static List<Integer> randomNumber;
private static Random r = new Random();
private static int rand;
private static int endRange = 1000;
public static void main(String args[]) throws IOException {
randomNumber = new ArrayList<Integer>();
for (int i = 1; i<= endRange; i++) {
rand = r.nextInt(endRange);
if(randomNumber.contains(rand)) {
rand = r.nextInt(endRange);
} else {
randomNumber.add(rand);
}
// Pass the unique random number between 0 and 1000 to this method
randomNumberMethod(rand);
}
}
}
У меня нет кода для него с верхней части моей головы, но в основном: создать список целых чисел от 0 до 1000 и перетасовать ее, а затем вернуться каждый из этих значений по одному. Это гораздо меньше, чем попытка отслеживать то, что вы уже видели. –
Вы даже серьезно? Мне потребовалось 10 минут, чтобы написать отличный ответ. И он заперся. Я так расстроен. –
@ Andrius, Можете ли вы скопировать сюда, чтобы я мог видеть, что является самым эффективным способом сделать это? Или я могу указать свой адрес электронной почты. – AKIWEB