> Java > java지도 시간 > 본문

동일한 시드를 사용할 때 Java에서 다양한 난수를 어떻게 생성할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-11-11 04:22:03
원래의
219명이 탐색했습니다.

How can I generate varying random numbers in Java when using the same seed?

Java에서 시드를 사용한 난수 생성

난수를 생성할 때 결과의 재현성을 보장하기 위해 시드를 사용하는 것이 일반적입니다. 그러나 겉보기에 동일한 숫자가 생성되는 경우 문제 해결이 필요합니다.

제공된 코드에서:

double randomGenerator(long seed) {
    Random generator = new Random(seed);
    double num = generator.nextDouble() * (0.5);

    return num;
}
로그인 후 복사

동일한 시드를 일관되게 사용하면 동일한 숫자 시퀀스가 ​​발생합니다. 이는 테스트의 중요한 측면으로, 결과를 재현할 때 임의성을 제어할 수 있습니다.

문제를 해결하고 다양한 시퀀스를 생성하려면 나노초 타임스탬프를 활용하여 고유한 시드를 초기화하는 Random의 인수가 없는 생성자를 활용하세요. . 예:

private Random generator = new Random();
double randomGenerator() {
    return generator.nextDouble() * 0.5;
}
로그인 후 복사

메서드 외부에서 Random 인스턴스를 유지함으로써 내부 시드 상태가 지속적으로 유지되어 각 호출에 대해 고유한 시퀀스를 제공합니다. 이 접근 방식은 고유한 숫자 시퀀스에 대한 요구를 수용하면서 진정한 무작위성을 보장합니다.

위 내용은 동일한 시드를 사용할 때 Java에서 다양한 난수를 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿