Di Java, selalunya perlu menjana nombor rawak dalam julat tertentu untuk pelbagai aplikasi. Contohnya, dalam simulasi atau permainan, anda mungkin perlu mencipta nilai rawak dalam selang waktu tertentu.
Pustaka standard menyediakan kelas Rawak untuk menjana nombor rawak. Walau bagaimanapun, ia hanya boleh menjana beregu rawak antara 0.0 (inklusif) dan 1.0 (eksklusif). Untuk menjana beregu rawak dalam julat yang berbeza, kita perlu menggunakan beberapa transformasi.
Andaikan kita mempunyai dua min dan maks beregu mewakili julat yang diingini. Untuk menjana dua kali ganda rawak antara min dan maks, kita boleh menggunakan formula berikut:
<code class="java">double randomValue = min + (max - min) * r.nextDouble();</code>
di mana r ialah kejadian kelas Rawak. Dengan mendarabkan hasil r.nextDouble() dengan perbezaan antara maks dan min, kami mengalihkan julat untuk bermula daripada min dan mengubah suai skala agar muat dalam selang yang dikehendaki. Selepas itu, penambahan min pada nilai ini menghasilkan ganda rawak akhir dalam julat yang ditentukan.
<code class="java">import java.util.Random; public class RandomDoubleRange { public static void main(String[] args) { double min = 100.0; double max = 101.0; Random r = new Random(); double randomValue = min + (max - min) * r.nextDouble(); // Output the generated random double System.out.println("Random Double: " + randomValue); } }</code>
Dengan menjalankan kod ini, anda akan memperoleh nilai ganda rawak yang terletak di antara 100.0 dan 101.0 termasuk. Pendekatan ini menyediakan cara yang fleksibel untuk menjana gandaan rawak dalam mana-mana julat yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Gandaan Rawak dalam Julat Tertentu di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!