Генерация случайных чисел

В пакете java.util описан класс Random, являющийся генератором случайных чисел. На самом деле в силу своей природы ЭВМ не может генерировать истинно случайные числа. Числа генерируются определенным алгоритмом, причем каждое следующее число зависит от предыдущего, а самое первое – от некоторого числа, называемого инициализатором. Две последовательности «случайных» чисел, сгенерированных на основе одного инициализатора, будут одинаковы.

Класс Random имеет два конструктора:

Random() – создает генератор случайных чисел, использующий в качестве инициализатора текущую дату (число миллисекунд с 1 января 1970);

Random(long seed) – создает генератор случайных чисел, использующий в качестве инициализатора число seed.

Рекомендуется использовать первый конструктор, чтобы генератор выдавал разные случайные числа при каждом новом запуске программы.

От генератора можно получать случайные числа нужного типа с помощью методов nextBoolean(), nextInt(), nextLong(), nextFloat(), nextDouble(). Вещественные числа генерируются в диапазоне от 0 до 1 (не включая 1), а целые – из всего диапазона возможных значений. Можно сгенерировать целое число в нужном диапазоне (от 0 до max-1) методом nextInt(int max) или nextLong(long max).

Наконец, можно заполнить случайными числами целый массив (предварительно созданный), воспользовавшись методом nextBytes(byte[] arr). Элементы массива arr должны иметь тип byte.

 

Ход работы:

  1. Выполнить все упражнения приведенные в теоретических сведениях.
  2. Выполните задание 1, 2, 3 согласно варианту по списку.

 

Отчет по лабораторной работе должен содержать: название и цель лабораторной работы, код программы для заданий №1, 2, 3 и из хода работы. В конце отчета выводы по проделанной работе.