Java Random Number Generator Sentiasa Mengembalikan Nombor Yang Sama Walaupun Benih
Dalam kod Java yang disediakan, walaupun menetapkan benih, penjana nombor rawak secara konsisten menghasilkan nombor yang sama. Isu timbul apabila mencipta objek Rawak baharu untuk setiap panggilan kaedah. Ini memastikan bahawa benih baharu dijana setiap kali, mengakibatkan pengulangan nombor rawak.
Untuk menyelesaikan masalah ini, adalah penting untuk berkongsi satu kejadian Rawak di seluruh kelas. Dengan memasukkan perubahan ini, kami menjamin bahawa benih ditetapkan sekali sahaja, membawa kepada urutan nombor rawak yang tulen.
public class Numbers { // Shared Random instance private Random randnum = new Random(); public int random(int i) { randnum.setSeed(123456789); return randnum.nextInt(i); } }
Dengan pengubahsuaian ini, panggilan seterusnya kepada kaedah rawak akan mengembalikan nombor yang berbeza, mematuhi kekangan mempunyai benih tetap.
Atas ialah kandungan terperinci Mengapakah Penjana Nombor Rawak Java Saya Sentiasa Mengembalikan Nombor Yang Sama Walaupun Menetapkan Benih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!