Урок Генерация случайных чисел.

Тема в разделе "Java программирование", создана пользователем KEFIR.1337, 12 авг 2016.

  1. KEFIR.1337

    KEFIR.1337 Мемолог Проверенный

    Регистрация:
    28 июн 2016
    Сообщения:
    141
    Симпатии:
    53
    Баллы:
    73
    Очень часто бывает нужно создать некоторые случайные данные, которые могут быть нам полезны как в работе алгоритмов, так и при их тестировании. Для этих целей в языке Java существует генератор случайных чисел Random. Данный класс имеет два конструктора: по умолчанию, который использует текущую дату для своей инициализации и конструктор, который принимает на вход некоторое число типа long. Очевидно, если вы будете использовать второй конструктор с одинаковым значением параметра, то в результате у вас будут генерироваться одинаковые случайные значения, поэтому на практике в основном применяют первый. Рассмотрим методы классы Random:

    * nextBoolean()
    * nextInt()
    * nextLong()
    * nextFloat()
    * nextDouble()


    Стоит отметить, что вещественные числа генерируются только в промежутке с 0 до 1, а целочисленные по всему спектру значений. Кроме того, целые числа можно генерировать в диапазоне с 0 до max - 1: nextInt(max).
    Заполним массив байт случайными значениями:

    Код:
    Random r = new Random();
    byte[] arr = new byte[100];
    r.nextBytes(arr);
    for(int i = 0; i < arr.length; i++){
         System.out.println(arr[i]);
    }
    К сожалению, аналогов функции nextBytes нет для других типов, поэтому придется явно инициализировать каждое значение.

    yrokbydexter
     
  2. AvesweNer

    AvesweNer Ньюби Пользователь

    Регистрация:
    5 авг 2019
    Сообщения:
    26
    Симпатии:
    0
    Баллы:
    1
    как мало помыслив я вижу.
    random_initvoid;
    random_get;
    random_ctl;
    ctl в свободное время наполняет пул неплохо сгенерированных с помощью аппаратного АЦП случайных числел. просто по последнему биту набирает.
    random_get излекает очередное неплохо сгенерированное, если числа есть в пуле, или если пул исчерпан, а числа снова нужны - псевдослучайное опираясь на последнем нормальном.

    .