자바 :Java에서 Random을 사용할 때 수동으로 시드해야합니까?
무엇을 알고 있습니까? Random.setSeed(long seed);
입니다. 나는 종자가 무엇인지, 그리고 종자가 용도에 따라 어떻게 변하는지를 안다. 일정 시간이 지나도 시퀀스가 반복되지 않거나 변수 (예 : 시스템 클럭)를 사용하여 시드가 자동으로 조작되도록 시드를 수동으로 변경해야합니까?
시드를 지정하지 않으면 동일한 프로그램을 다시 실행해도 생성자에서 시드를 조작해야하지만 시드를 주기적으로 변경해야합니다 (각 시드와 함께 시드가 변경되는 것은 아닙니다). 용도)?
명확한 설명 :
씨의 모든 사용에 따라 변화하지만, 어떤 점에서 씨앗이 무작위가 구축되었을 때 그것이 숫자가된다.
Random.setSeed(System.currentTimeInMillis())
으로 전화해야합니까? 한번 사용하면 순서가 반복되지 않을 것입니다.
/**
* Creates a new random number generator. This constructor sets
* the seed of the random number generator to a value very likely
* to be distinct from any other invocation of this constructor.
*/
public Random();
씨앗을 설정 (또는 생성자에 씨앗을 공급하는) 당신이 pseuodo 난수의 동일한 순서를 생성 할 경우에 유용합니다
[무작위 클래스의 시드로 가장 적합한 숫자] 가능한 복제본 (http://stackoverflow.com/questions/17201735/best-number-as-a-seed-for-random-class) – Joe
나는 의사 소통에 문제가있다. 종자는 매 사용마다 바뀝니다. 사용 후에는 랜덤 (Random)이 만들어지고 그 지점부터 시퀀스가 반복되기 시작했을 때의 번호가됩니다. 시스템 시계 시퀀스를 사용하여 시드를 수동으로 한 번 설정하면 결코 반복되지 않습니다. 하지만 Random 클래스가 자체적으로 수행합니까? 링크 된 질문이 내 질문에 응답하지 않습니다. – WVrock