Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 101

Рандом - способы получения случайных чисел

14.12.2016, 19:17. Показов 2062. Ответов 3

Студворк — интернет-сервис помощи студентам
Я умею пользоваться тремя стандартными способами получения случайных чисел: Math.random(), java.util.Random и java.security.SecureRandom.

Никак не могу разобраться, в чём разница?
Я знаю, что SecureRandom работает медленнее, чем Random. Знаю, что Math.random() - это Random.nextDouble().

Меня интересуют подробности алгоритмов получения СЧ и разница, между алгоритмами в Random и в SecureRandom.
Кто подробно может объяснить мне алгоритмы получения псевдослучайных чисел при применении этих способов?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2016, 19:17
Ответы с готовыми решениями:

Рандом случайных чисел
как задать рандом случайных чисел (1 10), чтоб он подставлял их в формулы (две любые формулы)? Добавлено через 36 секунд в цикле ...

Рандом: генерация случайных чисел в заданном диапазоне
Вобщем такая задача: пользователь должен вводить верхнюю границу диапазона случайных чисел (например, 56) и нижнюю (например, -35). Как...

Методы для получения реальных случайных чисел
Предложите, пожалуйста, какие-нибудь методы для получения реальных случайных чисел. Началось всё с того, что мне нужно было сделать...

3
50 / 49 / 25
Регистрация: 05.02.2016
Сообщений: 146
14.12.2016, 23:08
Asia4444_, если подробно - это много текста будет. "Об этом же целая литература существует." (C)
Коротко - есть рандом статический, который считается по алгоритму, начиная, грубо говоря, от какого-то числа. У него есть особенность - если каждый раз начинать заново - он каждый раз будет давать одни и те же числа. Иногда это даже хорошо - например, в игре Elite так генерилась карта галактики, которая содержала больше информации, чем вся память компа.
А есть рандом, который каждый раз будет именно рандом. Сделать его таким - задача не простая. Используется он во всякой криптографии. По этому про хороший, правильный рандом читайте статьи на тему криптографии.
0
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 101
14.12.2016, 23:23  [ТС]
Я знаю много алгоритмов создания псевдослучайных чисел. И способы создания генераторов случайных чисел (псевдослучайные + источник энтропии).
Знаю, что в качестве источника энтропии в Java используются взаимодействия между потоками.

Меня интересует не теория генерации псевдослучайных чисел, но особенности генерации чисел именно в Java и именно классами Random и SecureRandom.
0
50 / 49 / 25
Регистрация: 05.02.2016
Сообщений: 146
15.12.2016, 12:20
Лучший ответ Сообщение было отмечено Asia4444_ как решение

Решение

Asia4444_, так бы сразу и сказали, а то стереотип срабатывает - раз сообщений мало, значит будет "дан массив"

Math.random() - это java.util.Random.nextDouble() (вы вроде как это написали, но способа тогда 2, а не 3)

SecureRandom extends java.util.Random (nextDouble и т.п. там из java.util.Random).
Но весь смысл там в nextBytes, который использует sun.security.provider.NativePRNG, где есть engineNextBytes, который в свою очередь пользуется услугами /dev/random, что хорошо.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.12.2016, 12:20
Помогаю со студенческими работами здесь

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

Способы получения ответов в VP 5.2
Здравствуйте, переношу экспертную из консольной в Визуал, но столкнулся в проблемой остановки предиката, чтобы получить ответ пользователя,...

Способы получения скриншота экрана
Всем привет. Есть ли способ сделать скрин экрана помимо использования метода CopyFromScreen? Мне необходимо реализовать потоковую...

Способы получения цвета пикселя экрана
Доброго времени суток! Столкнулся с проблемой при получении цвета пикселя экрана, функция GetPixel работает слишком медленно, порядка...

ServerSocket ClientSocket способы получения данных
Ранее написал в консольную програмку, передачи файлов на winsock2 при помощи send() и recv(), когда попытался реализовать это на C++...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru