Класс Random
Класс Random позволяет генерировать
псевдослучайные числа различных типов:
целые, дробные, логические, а также
заполнять случайными байтами массивы.
При создании объекта можно передать
в конструктор начальное значение (seed),
которое задаёт последовательность
случайных чисел. Если seed не указан,
используется текущее время системы.
Синтаксис
import java.util.Random;
Random random = new Random();
Random random = new Random(seed);
Пример
Давайте сгенерируем случайное целое число
в диапазоне от 0 до 99
с помощью метода nextInt:
import java.util.Random;
public class Main
{
public static void main(String[] args)
{
Random random = new Random();
int res = random.nextInt(100);
System.out.println(res);
}
}
Результат выполнения кода:
42
Пример
Давайте сгенерируем случайное дробное число
в диапазоне от 0.0 до 1.0
с помощью метода nextDouble:
import java.util.Random;
public class Main
{
public static void main(String[] args)
{
Random random = new Random();
double res = random.nextDouble();
System.out.println(res);
}
}
Результат выполнения кода:
0.7231742097491318
Пример
Давайте сгенерируем случайное логическое
значение с помощью метода nextBoolean:
import java.util.Random;
public class Main
{
public static void main(String[] args)
{
Random random = new Random();
boolean res = random.nextBoolean();
System.out.println(res);
}
}
Результат выполнения кода:
true
Пример
Давайте заполним массив из пяти элементов
случайными байтами с помощью метода
nextBytes:
import java.util.Random;
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
Random random = new Random();
byte[] arr = new byte[5];
random.nextBytes(arr);
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[12, -45, 78, -3, 100]
Пример
Давайте зададим seed вручную, чтобы
последовательность случайных чисел была
воспроизводимой с помощью метода
setSeed:
import java.util.Random;
public class Main
{
public static void main(String[] args)
{
Random random = new Random();
random.setSeed(12345);
int res1 = random.nextInt(100);
int res2 = random.nextInt(100);
System.out.println(res1);
System.out.println(res2);
}
}
Результат выполнения кода:
51
80
Смотрите также
-
метод
nextInt,
который возвращает случайное целое число -
метод
nextDouble,
который возвращает случайное дробное число -
метод
nextBoolean,
который возвращает случайное логическое значение -
метод
setSeed,
который задаёт начальное значение генератора