Генерация случайных чисел
В пакете 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, 3 согласно варианту по списку.
Отчет по лабораторной работе должен содержать: название и цель лабораторной работы, код программы для заданий №1, 2, 3 и из хода работы. В конце отчета выводы по проделанной работе.