Nếu bạn đang cho cùng một hạt giống, điều đó bình thường, đó là tính năng quan trọng cho phép kiểm tra.
Kiểm tra này để hiểu thế hệ giả ngẫu nhiên và hạt: http://en.wikipedia.org/wiki/Pseudorandom_number_generator
Một bộ tạo số giả ngẫu nhiên (PRNG), còn được gọi là xác định phát bit ngẫu nhiên DRBG, là một thuật toán để tạo ra một chuỗi số xấp xỉ các thuộc tính của các số ngẫu nhiên. Trình tự không thực sự ngẫu nhiên ở chỗ là được xác định hoàn toàn bởi một tập hợp tương đối nhỏ các giá trị ban đầu, được gọi là trạng thái PRNG, bao gồm một hạt giống ngẫu nhiên thực sự.
Nếu bạn muốn có trình tự khác nhau (trường hợp thông thường khi không điều chỉnh hoặc gỡ lỗi thuật toán), bạn nên gọi hàm zero arg sử dụng nanoTime để cố gắng lấy hạt giống khác mỗi lần. Trường hợp này Random
tất nhiên nên được giữ bên ngoài phương pháp của bạn.
Bạn đang có lẽ nên được như thế này:
private Random generator = new Random();
double randomGenerator() {
return generator.nextDouble()*0.5;
}
Nguồn
2012-09-17 11:38:56
Đó là những gì hạt giống phải làm. Bạn chỉ tạo một số cho một hạt giống. Bạn đang cố gắng đạt được điều gì? –
có thể trùng lặp của [Java ngẫu nhiên luôn luôn trả về cùng một số khi tôi đặt hạt giống?] (Http://stackoverflow.com/questions/5533191/java-random-always-returns-the-same-number-when-i- set-the-seed) – finnw
Bạn có thể sử dụng 'System.currentTimeMillis()' làm hạt giống để tạo ra các kết quả ngẫu nhiên. Không cho bất kỳ hạt giống nào cũng tạo ra kết quả ngẫu nhiên. Tôi không chắc liệu nó sẽ bắt đầu lặp lại tại một thời điểm nào đó nếu bạn không đưa ra bất kỳ hạt giống nào. – WVrock