HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Можно использовать метод Math.random():</p>
1 <p>Можно использовать метод Math.random():</p>
2 <p>По умолчанию Math.random() генерирует случайные вещественные числа из промежутка [0;1), то есть от нуля включительно до 1 исключительно. Причем этот метод генерирует вещественные числа, например 0,999.</p>
2 <p>По умолчанию Math.random() генерирует случайные вещественные числа из промежутка [0;1), то есть от нуля включительно до 1 исключительно. Причем этот метод генерирует вещественные числа, например 0,999.</p>
3 <p>public class Test { public static void main(String[] args){ double a = Math.random(); System.out.println (a); } }</p>
3 <p>public class Test { public static void main(String[] args){ double a = Math.random(); System.out.println (a); } }</p>
4 <p>А что если нам нужно сгенерировать целочисленную переменную? Например нам нужно сгенерировать число от 0 до 2. Вот решение:</p>
4 <p>А что если нам нужно сгенерировать целочисленную переменную? Например нам нужно сгенерировать число от 0 до 2. Вот решение:</p>
5 <p>public class Test { public static void main(String[] args){ int a = (int) ( Math.random() * 3 ); } }</p>
5 <p>public class Test { public static void main(String[] args){ int a = (int) ( Math.random() * 3 ); } }</p>
6 <p>Как это работает?</p>
6 <p>Как это работает?</p>
7 <p>Шаг №1: Диапазон [0;1) умножаем на 3. Соответственно,</p>
7 <p>Шаг №1: Диапазон [0;1) умножаем на 3. Соответственно,</p>
8 <p>Нижняя граница: 0*3 =0</p>
8 <p>Нижняя граница: 0*3 =0</p>
9 <p>Верхняя граница</p>
9 <p>Верхняя граница</p>
10 <p>*3 =3</p>
10 <p>*3 =3</p>
11 <p>Получили диапазон [0;3). Скобка после числа 3 круглая. Это значит, что 3 не входит в диапазон, то есть максимальное число, которое может быть сгенерировано в этом диапазоне это 2,999. Одним словом - мы имеем дело с вещественными (дробными) числами.</p>
11 <p>Получили диапазон [0;3). Скобка после числа 3 круглая. Это значит, что 3 не входит в диапазон, то есть максимальное число, которое может быть сгенерировано в этом диапазоне это 2,999. Одним словом - мы имеем дело с вещественными (дробными) числами.</p>
12 <p>Шаг №2: Поэтому применяем (int) перед Math.random()*3. Дробная часть отсекается и мы получаем диапазон [0;2]</p>
12 <p>Шаг №2: Поэтому применяем (int) перед Math.random()*3. Дробная часть отсекается и мы получаем диапазон [0;2]</p>