Стандарт C не предписывает реализации srand () и rand ().Таким образом, различные среды (ОС, библиотеки C, архитектура и т. Д.), Скорее всего, будут создавать последовательности чисел, которые различаются для одного и того же начального значения.
Кроме того, класс Java реализации не связан слюбой конкретный алгоритм.Здесь снова, разные JVM могут очень хорошо производить разные последовательности для одного и того же начального значения.Кроме того, реализация, скорее всего, не будет привязана к стандартным функциям C.Это означает, что созданная Java последовательность будет отличаться от последовательности C с использованием того же начального числа.
Если вам действительно нужно сгенерировать случайную последовательность в Java, чтобы точно соответствовать последовательности стандартных функций C, лучшее, на что вы могли бы надеятьсясделать, это повторить последовательность для конкретной среды.Это потребует создания библиотеки JNI для прокси-вызовов srand () и rand () или создания какого-либо другого внешнего процесса, который выполняет вызовы и вызывается из Java.В любом случае, это большая сложность и дополнительное обслуживание программы.
Если на самом деле все, что вам нужно, это случайные последовательности, которые кажутся равномерно распределенными, независимо от точных значений, то используйте Random как есть.Этого более чем достаточно для большинства нужд ГСЧ.