Метод setSeed
Метод setSeed класса Random устанавливает новое начальное значение
для генератора случайных чисел. В единственный параметр мы передаем
значение типа long, которое будет использоваться в качестве seed.
После вызова этого метода последовательность генерируемых случайных
чисел будет такой же, как если бы объект Random был только что
создан с этим же seed. Это полезно, когда нужно воспроизвести
одну и ту же последовательность случайных чисел повторно.
Синтаксис
random.setSeed(seed)
Пример
Давайте создадим генератор, установим ему seed и получим последовательность чисел:
import java.util.Random;
public class Main
{
public static void main(String[] args)
{
Random random = new Random();
random.setSeed(12345);
System.out.println(random.nextInt(100));
System.out.println(random.nextInt(100));
System.out.println(random.nextInt(100));
}
}
Результат выполнения кода:
51
80
41
Пример
Давайте убедимся, что при одинаковом seed последовательность чисел воспроизводится. Создадим два генератора с одним и тем же значением seed:
import java.util.Random;
public class Main
{
public static void main(String[] args)
{
Random random1 = new Random();
random1.setSeed(42);
Random random2 = new Random();
random2.setSeed(42);
int res1 = random1.nextInt(1000);
int res2 = random2.nextInt(1000);
System.out.println(res1);
System.out.println(res2);
System.out.println(res1 == res2);
}
}
Результат выполнения кода:
430
430
true
Пример
Давайте изменим seed уже существующего генератора и получим новую последовательность:
import java.util.Random;
public class Main
{
public static void main(String[] args)
{
Random random = new Random();
random.setSeed(1);
int res1 = random.nextInt(100);
random.setSeed(2);
int res2 = random.nextInt(100);
System.out.println(res1);
System.out.println(res2);
}
}
Результат выполнения кода:
85
8
Смотрите также
-
класс
Random,
который генерирует случайные числа -
метод
nextInt,
который возвращает случайное целое число -
метод
nextDouble,
который возвращает случайное дробное число -
метод
nextBoolean,
который возвращает случайное логическое значение