/
Вопросы и ответы
/
Java
/

Как сгенерировать рандомное число в java

Как сгенерировать рандомное число в java

5 лет назад

Человек-Молекула

Ответы

0

Можно использовать метод Math.random():

По умолчанию Math.random() генерирует случайные вещественные числа из промежутка [0;1), то есть от нуля включительно до 1 исключительно. Причем этот метод генерирует вещественные числа, например 0,999.

1
2
3
4
5
6
7
public class Test {

	public static void main(String[] args){
		double a = Math.random();
                System.out.println (a);
	}
}

А что если нам нужно сгенерировать целочисленную переменную? Например нам нужно сгенерировать число от 0 до 2. Вот решение:

1
2
3
4
5
6
public class Test {

	public static void main(String[] args){
		int a = (int) ( Math.random() * 3 );
	}
}

Как это работает?

Шаг №1: Диапазон [0;1) умножаем на 3. Соответственно,

Нижняя граница: 0*3 =0

Верхняя граница:1*3 =3

Получили диапазон [0;3). Скобка после числа 3 круглая. Это значит, что 3 не входит в диапазон, то есть максимальное число, которое может быть сгенерировано в этом диапазоне это 2,999. Одним словом - мы имеем дело с вещественными (дробными) числами.

Шаг №2: Поэтому применяем (int) перед Math.random()*3. Дробная часть отсекается и мы получаем диапазон [0;2]

4 года назад

Ilnaz Kamalov

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845