ПредишенСледващото

Генериране на произволен брой в предварително определен диапазон

Здравейте от другата страна на екрана.

Всеки от нас рано или късно отговаря на необходимостта да се генерира случайно число в предварително определени граници на контакт дали е истински или число.

За какво? В действителност, това не е важно, то може да бъде функция за изчисляване на вероятността да се изпълнява някои от събитията получават случаен множител, или всеки друг.

Така че, за това, което е необходимо да се разбере, че е това, което искаш :)

В действителност, методи за получаване на случайни числа много, ще дам един пример към класа Math. а именно произволен метод ();

Какво имаме?
Повикване Math.random () връща реално число псевдослучайни (двойно) в интервала [0; 1). това е, от 0 до 1 с изключение на едно, което означава, че максималният брой в интервала е 0.99999999999.

Е, стигнахме случайно число, но ако имаме нужда от вашата диапазон?
Например, ние се нуждаем от случайно число в интервала [0, 100)?

Оказа се, не е лошо, но на макс (в нашия случай), ние все още не се получи.
За да се получи случайно число в интервала [0, 100], трябва да добавим към нашия макс 1, а след това се превърнат в едно цяло число вътр или дългосрочен (в зависимост от диапазона, който ще се използва).


Забележка: Както можете да видите на променливата е увеличен макс форма префикс. (Ако не знаете какво ви съветваме да прочетете моята статия)

Добре, ние получихме това, което искахме, но ако ние се нуждаем от диапазон от 0 не е, както например [10, 75]


Разбор кода на RND метода:
Минималният брой на гама = 10;
максимален брой гама = 75;
Макс - = мин; // изважда от максималната стойност, за да се получи минимален фактор псевдо реално число.
Максималният брой след изчисляване е равно на 65

Истинският брой псевдо-случаен (например) е .18283417347179454 (на повикване е получено математика .random ())
Максималният брой се увеличава преди умножаване префикс форма.
Максималният брой е вече 66

Умножете .18283417347179454 66
Резултатът от умножението е 12.06705544913844
Ние конвертирате резултат на умножение на максималния брой на псевдослучайни реално число до цяло число тип Int на
Добави минималния брой на превръща резултата, който се равнява на 12
Връща резултат: 22

Както се вижда от анализа, дори и ако реалният брой на псевдослучайни е нула, а след това ние ще възстановим нашето малко в резултат на добавянето на нашия минимален брой с резултата от умножението.

Надявам се това да е било полезно и информативно за Вас.

Успехът в развитието на Java;)

Свързани статии

Подкрепете проекта - споделете линка, благодаря!