Уникальный random-srand в java? (как в c++)
В настоящее время я использую
Random rand = new Random();
myNumber = rand.nextInt((100-0)+1)+0;
И это псевдослучайно, потому что я всегда получаю одну и ту же последовательность чисел.
Я помню, что в c++ вы могли бы просто использовать ctime и использовать srand, чтобы сделать его уникальным. Как это сделать на Яве ?
1 ответ:
Если вам требуется уникальный random в Java, используйте
SecureRandom. Этот класс обеспечивает криптографически сильный генератор случайных чисел (RNG), что означает, что он может быть использован при создании сертификатов, и этот класс является медленным по сравнению с другими решениями.Если вам требуется предсказуемая случайная величина, которую вы можете сбросить, используйте
Random, где вы вызываете.setSeed(number), чтобы посеять его, чтобы сделать значения предсказуемыми с этой точки.Если вы хотите псевдослучайный, что является случайным каждый раз, когда вы запускаете программу, используйте обычный
Random. Случайный экземпляр по умолчанию является семенем некоторого хэша текущего времени.Для лучшей случайности в каждом решении важно повторно использовать случайный экземпляр. Если этого не сделать, большая часть выходных данных, которые он дает, будет аналогичной в течение того же промежутка времени, и в случае выброшенного SecureRandom, он будет тратить много времени на воссоздание нового случайного.
Comments