Rumah >Java >javaTutorial >Bagaimana untuk Menjana Integer Rawak (dan Beregu) Dalam Julat Tertentu di Jawa?
Math.random() Manipulasi: Menjana Integer Rawak Dalam Julat Tertentu
Fungsi Java Math.random() menjana nombor rawak dalam julat [0, 1). Walau bagaimanapun, terdapat situasi di mana anda mungkin perlu mendapatkan integer rawak dalam julat tertentu. Artikel ini menunjukkan cara untuk mencapai ini menggunakan Math.random().
Niat untuk Menjana Integer Rawak Antara Tiga dan Lima
Sementara pernyataan "(int) Math .random() * 5 3" tidak menjana integer rawak dengan betul dalam julat [3, 5], ia boleh dibetulkan menggunakan tersuai kaedah:
int randomWithRange(int min, int max) { int range = (max - min) + 1; return (int) (Math.random() * range) + min; }
Kaedah ini mengira julat nilai yang mungkin, mendarabnya dengan Math.random(), dan menambah nilai minimum untuk memastikan keterangkuman.
Contoh Output
System.out.println(randomWithRange(3, 5)); // Output: 3
Pembuktian Bodoh kerana Salah Memesan
Untuk mengelakkan ralat jika min lebih besar daripada maksimum, kaedah yang dikemas kini ialah:
int randomWithRange(int min, int max) { int range = Math.abs(max - min) + 1; return (int) (Math.random() * range) + (min <= max ? min : max); }
Sambungan untuk Penjanaan Nombor Rawak Berganda
Kaedah yang serupa boleh digunakan untuk menjana nombor ketepatan dua kali rawak:
double randomWithRange(double min, double max) { double range = (max - min); return (Math.random() * range) + min; }
Menggunakan ini kaedah:
System.out.println(randomWithRange(3.0, 5.0));
Atas ialah kandungan terperinci Bagaimana untuk Menjana Integer Rawak (dan Beregu) Dalam Julat Tertentu di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!