Penjanaan Nombor Rawak dengan Benih di Java
Apabila menjana nombor rawak, adalah amalan biasa untuk menggunakan benih untuk memastikan kebolehulangan hasil. Walau bagaimanapun, dalam kes di mana nombor yang kelihatan sama dihasilkan, penyelesaian masalah diperlukan.
Dalam kod yang disediakan:
double randomGenerator(long seed) { Random generator = new Random(seed); double num = generator.nextDouble() * (0.5); return num; }
Menggunakan benih yang sama secara konsisten akan menghasilkan urutan nombor yang sama. Ini merupakan aspek penting dalam ujian, membenarkan kerawak terkawal semasa menghasilkan semula hasil.
Untuk menyelesaikan isu dan menjana urutan yang berbeza-beza, gunakan pembina hujah sifar untuk Rawak, yang memanfaatkan cap waktu nanosaat untuk memulakan benih unik . Contohnya:
private Random generator = new Random(); double randomGenerator() { return generator.nextDouble() * 0.5; }
Dengan mengekalkan tika Rawak di luar kaedah, keadaan benih dalaman kekal berterusan, memberikan urutan yang berbeza untuk setiap seruan. Pendekatan ini memastikan rawak sebenar sambil menampung keperluan untuk urutan nombor unik.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menjana nombor rawak yang berbeza-beza di Jawa apabila menggunakan benih yang sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!