Rumah  >  Artikel  >  Java  >  Bagaimanakah saya boleh menjana nombor rawak yang berbeza-beza di Jawa apabila menggunakan benih yang sama?

Bagaimanakah saya boleh menjana nombor rawak yang berbeza-beza di Jawa apabila menggunakan benih yang sama?

Barbara Streisand
Barbara Streisandasal
2024-11-11 04:22:03220semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn