Клас Random

Обєкти класу Random призначені для роботи з незалежними послідовностями псевдовипадкових чисел Якщо вам потрібна послідовність типу double і вас не цікавить порядок проходження чисел, можна скористатися методом javalangMathrandom – він створює обєкт Random при першому виклику і надалі повертає псевдовипадкові числа з цього обєкта Щоб мати більше засобів для контролю за послідовністю (наприклад, щоб мати можливість поставити стартове значення), створіть обєкт Random і отримуйте числа від нього

public Random()

Створює новий генератор випадкових чисел Стартове значення визначається на підставі поточного часу

public Random(long seed)

Створює новий генератор випадкових чисел з заданим стартовим значенням Два обєкти Random, створені з однаковим seed, будуть породжувати збігаються послідовності псевдовипадкових чисел

public synchronized void setSeed(long seed)

Встановлює стартове значення генератора випадкових чисел рівним seed Метод може бути викликаний в будь-який момент – у результаті відбудеться скидання послідовності і подальше її породження на основі стартового значення

public int nextInt()

Повертає псевдовипадкове значення типу int, рівномірно розподілене між величинами IntegerMIN_VALUE і IntegerMAX_VALUE включно

public long nextLong()

Повертає псевдовипадкове значення типу long, рівномірно розподілене між величинами LongMIN_VALUE і LongMAX_VALUE включно

public float nextFloat()

Повертає псевдовипадкове значення типу float, рівномірно розподілене між величинами FloatMIN_VALUE і FloatMAX_VALUE включно

public double nextDouble()

Повертає псевдовипадкове значення типу double, рівномірно розподілене між величинами DoubleMIN_VALUE і DoubleMAX_VALUE включно

public synchronized double nextGaussian()

Повертає псевдовипадкове значення типу double, що підкоряється розподілу

Гаусса, з математичним очікуванням 0,0 і стандартним відхиленням 1,0

Вправа 127

Для відомого кількості шестигранних кубиків можна обчислити теоретичну ймовірність випадання кожної з можливих сум Наприклад, для двох шестигранних кубиків ймовірність випадання семи очок становить 1/6 Напишіть програму, яка порівнює теоретичний розподіл очок для відомого числа кубиків з експериментальними даними, отриманими в результаті численних кидків, що використовують Random для генерації чисел між 1 і 6 Чи має значення вибір методу, генеруючого числа

Вправа 128

Напишіть програму, яка тестує метод nextGaussian, відображаючи розподіл для великої кількості чисел у вигляді графіка – його роль може грати гістограма із символів *

Джерело: Арнольд К, Гослінг Д – Мова програмування Java (1997)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*