![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| bulat01 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 26.10.2010 Репутация: нет Всего: 0 |
Здравствуйте спецы по Java,
помогите разобраться с кодом, точнее с применением Random
При ранинге - он кидает следующий вывод: length of a = 18[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Random (long seed) - Creates a new random number generator using a single long seed. nextInt (int n) - Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence. Первый вопрос: nextInt - для меня понятно его логика работы, он генерирует случайное число от 0 до 19 (исключая 20), это в моем случае. Но почему 18, а не 19? Второй вопрос: Единственное что понял в логике работы Random (long seed) - что если задать начальное число, при постоянном ранинге программы - случайное число выдааное генератором неизменно. Вы не могли бы более детально описать функцию Random (long seed)? а также если его рассматривать с комбинацией с nextInt? |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
В JavaDoc в принципе все написано: Если Вы задаете одинаковый seed для двух независимых Random объектов, то генерируемые ими последовательности совпадут. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
1. Random это генератор псевдослучайных чисел. 2. seed это начальное значение для этого генератора. Как следствие seed полностью определяет последовательность генерируемых чисел. А что 18 недостаточно случайное число? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| nc30 |
|
||||||
|
Интересующийся :) ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 24.6.2010 Где: Санкт-Петербург Репутация: 5 Всего: 8 |
Удобно использовать следующий вызов
Учитывая, что
можно особо не беспокоиться о повторяемости "семени" (seed) генератора "при постоянном ранинге программы" |
||||||
|
|||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
У дефолтного конструктора Random в версии 1.4 именно такое поведение. В версиях 1.5 и старше, они используют более продвинутую методику. Думаю не имеет смысла пытаться ее улучшить, умолчальный алгоритм и так достаточно хорош. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| nc30 |
|
|||
|
Интересующийся :) ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 24.6.2010 Где: Санкт-Петербург Репутация: 5 Всего: 8 |
LSD, спасибо за информацию. Хотел, кстати, отослать bulat01 к API docs по Random, но самому надо читать их внимательнее
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |