Rumah > Java > javaTutorial > Bagaimana untuk Menjana Integer Rawak (dan Beregu) Dalam Julat Tertentu di Jawa?

Bagaimana untuk Menjana Integer Rawak (dan Beregu) Dalam Julat Tertentu di Jawa?

Linda Hamilton
Lepaskan: 2024-12-04 19:53:11
asal
387 orang telah melayarinya

How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

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;
}
Salin selepas log masuk

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
Salin selepas log masuk

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);
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

Menggunakan ini kaedah:

System.out.println(randomWithRange(3.0, 5.0));
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan