Math.random() в Java возвращает псевдослучайное число типа double в диапазоне от 0.0 (включительно) до 1.0 (исключительно). Чтобы сгенерировать целое число в заданном диапазоне (от min до max), используйте формулу: (int) (((max - min) + 1) * Math.random()) + min). Хотя эта формула может показаться сложной, она очень проста в применении. Давайте разберем ее на практических примерах, начиная с основ и заканчивая использованием для реальных задач.

Что такое метод Math.random() в Java?

Метод java.lang.Math.random() возвращает псевдослучайное число типа double в диапазоне от 0.0 до 1.0.
Следовательно, случайное число, сгенерированное с помощью встроенного метода Java, всегда находится в диапазоне от 0 до 1.

0.0 ≤ random <
1.0
Обратите внимание, что случайное число больше или равно 0.0 и меньше 1.0.

Как использовать Math.random() в Java?

Использовать метод Math.random() довольно просто даже для новичков.

Пример 1

Давайте рассмотрим базовый пример использования метода Math.random() в Java для ясного понимания.

public class RandomTest {

public static void main(String[] args) {

	double random1 = Math.random();
	double random2 = Math.random();
System.out.println("Первое случайное число: " + random1);
System.out.println("Второе случайное число: " + random2);
}
}

Вывод

Первое случайное число: 0.5486939400685561 Второе случайное число: 0.23550115674999972

Использование метода random() в заданном диапазоне

Вызов метода Math.random() кажется довольно очевидным. Однако наша потребность в случайных числах не всегда ограничивается диапазоном от 0 до 1. Для реальных задач мы можем работать и в других указанных диапазонах. Давайте рассмотрим пример использования метода Math.random() для заданного диапазона, скажем, от 1 до 50.

Пример 2


public class RandomNumberInRange {
public static int getRandom(int min, int max) {

	int range = (max - min) + 1;
int random = (int) ((range * Math.random()) + min);
return random;
}

public static void main(String[] args) {
	// Давайте сыграем в Ludo с 4 игроками
	int dieRoll = getRandom(1, 6);
System.out.println("Ход красных: " + dieRoll);

	dieRoll = getRandom(1, 6);
	System.out.println("Ход синих: " + dieRoll);

	dieRoll = getRandom(1, 6);
System.out.println("Ход зеленых: " + dieRoll);

	dieRoll = getRandom(1, 6);
	System.out.println("Ход желтых: " + dieRoll);
}
}

Вывод

Ход красных: 3 Ход синих: 2 Ход зеленых: 6 Ход желтых: 4

Объяснение

Чтобы получить случайное число в пределах диапазона, вам нужно вычислить диапазон, вычитая min из max. Затем, после умножения диапазона на Math.rand(), вам нужно добавить число min. После приведения типа double к int вы получаете случайное число в указанном диапазоне.

Заключение

Я надеюсь, что к концу этого поста вы ознакомились с методом Math.random() в Java. Продолжайте практиковаться для более глубокого овладения концепцией. А до тех пор — продолжайте расти!