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 중국어 웹사이트의 기타 관련 기사를 참조하세요!