- писмено отбор Vertex академия. Надяваме се, че ще бъде полезна за вас. Приятно четене!
- това е една от статиите от нашето "Ръководство на Java"
Генериране на случайни числа в Java - важна и необходима тема. В действителност, трябва да го безброй пъти.
- при попълване масив от случайни числа
- когато размесването тесте карти
- изборът на случаен елемент от последователността
- и т.н.
Нека да се справят с тази тема.
Има няколко начина как да се генерират случайни числа. В тази статия ще разгледаме генерирането на номера с помощта на Math.random ()
Библиотеките на класа на Java имат java.lang пакет, който е с клас по математика, а на класа Math има произволен метод (). Вижте. В изображението по-долу помощ.
Така че, на всеки Math.random повикване (), чрез използване на специален алгоритъм (за дадена инструкция) се генерира от произволен номер. Възможно ли е да се предскаже кой номер ще бъде генериран? Теоретично е възможно, но е много трудно да се направи. И тъй като все още има малък шанс да се предскаже какво ще се генерира броят алгоритъм, такива номера не се наричат случайни и псевдослучайни.
Трябва да знаете, 3 неща:
1. подразбиране Math.random () генерира произволни реални числа в интервала [0, 1), т.е. от нула до един, включително изключително.
"Само до 1" - това означава, че math.random () не може да генерира числото 1. Това ли е 0999 - това е, който и да е число по-малко 1.Poprobuyte изпълня този код тук и се убедете сами на компютъра си, че конзолата ще се появи реална цифри от 0 до всеки номер по-малко от 1.
Стъпка №1: диапазон [0, 1) се умножава по 3. Съответно,
Долна граница: 0 * 3 = 0
Горната граница на 1 * 3 = 3
Получени диапазон [0; 3). След скобата 3 кръг. Това означава, че три от диапазона, т.е. максималния брой, който може да бъде генериран в този диапазон е 2,999. С една дума - ние се занимаваме с реални (дробни) номера.
Стъпка №2: защо използваме (инт) преди math.random () * 3. Дробна част е отрязана и получаваме интервала [0, 2]
Ако ние считаме нашата формула, то няма да промени много.
Ако реалното число и горната лента включва б - [а; б]:
(Math.random () * (б - а + 1) + на
Ако дори само цели числа:
(Int) ((Math.random () * (б - а + 1) + а)
Ако е необходимо да се генерира число в интервала [3, 4]. Моля, имайте предвид, че след 4 квадратна скоба. Това означава, че ние се интересуваме от, към гамата включва броя 4. Как да го направя? Ето как:
Стъпка №1: диапазон [0, 1) се умножава по 2. Съответно,
Долна граница: 0 * 2 = 0
Горна граница: 1 * 2 = 2
Получени диапазон [0; 2). Конзолата 2 след като броят на кръг. Това означава, че две от границите, т.е. максималния брой, който може да бъде генериран в този диапазон е 1,999. Това означава, че ние се занимаваме с реална (частична) номер.
Стъпка №2: защо използваме (инт) преди math.random () * 2. Дробна част е отрязана и получаваме интервала [0, 1]. Забележка - гама вече е под номер 1, включително.
Етап №3: до интервала [0; 1] добавим 3. Съответно,
Долна граница: 0 + 3 = 3
Горна граница: 1 + 3 = 4
Получена е нова гама [3, 4]
(Int) (Math.random () * (4 - 3 + 1) + 3) => (междинно съединение) (Math.random () * 2 + 3)
Цяло число в интервала [-100; 100] (100 включително):
Свързани статии