Rumah >Java >javaTutorial >Math.random() vs. Random.nextInt(): Bilakah Anda Harus Menggunakan Setiap untuk Penjanaan Nombor Rawak?
Mengapa Gunakan Random.nextInt() Over Math.random()?
Pilihan antara Math.random() dan Random.nextInt () bergantung kepada yang dikehendaki hasil.
Math.random()
Math.random() menjana dua kali ganda rawak antara 0.0 dan 0.9999999999999999 (satu kurang daripada 1.0). Mendarab nilai ini dengan integer n menghasilkan dua kali ganda antara 0.0 dan n-1. Walau bagaimanapun, menghantar dua kali ganda ini kepada integer memperkenalkan bias kerana pengagihan nilai yang mungkin tidak sekata. Khususnya, nilai 0 dan n lebih berkemungkinan berlaku berbanding nilai lain.
Random.nextInt()
Sebaliknya, Random.nextInt(n) menjana integer antara 0 dan n-1, inklusif, dengan taburan seragam. Kaedah ini menggunakan algoritma yang lebih cekap, menjadikannya lebih pantas dan lebih memelihara rawak.
Mengapa Gunakan Random.nextInt() untuk Gulung Dadu?
Untuk gulung dadu , Random.nextInt() boleh dikatakan lebih baik kerana:
Pertimbangan Tambahan
Seperti yang ditunjukkan oleh Matahari Siaran forum dipautkan dalam jawapan:
Atas ialah kandungan terperinci Math.random() vs. Random.nextInt(): Bilakah Anda Harus Menggunakan Setiap untuk Penjanaan Nombor Rawak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!