Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menjana Ganda Rawak Dalam Julat Tertentu dalam Pengaturcaraan?

Bagaimana untuk Menjana Ganda Rawak Dalam Julat Tertentu dalam Pengaturcaraan?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 18:32:03798semak imbas

How to Generate a Random Double Within a Specified Range in Programming?

Menjana Berganda Rawak Dalam Julat Yang Ditentukan

Dalam pengaturcaraan, selalunya perlu menjana nilai rawak dalam julat tertentu. Ini biasanya dicapai menggunakan penjana nombor rawak yang mengembalikan nilai antara 0 dan 1. Walau bagaimanapun, jika anda mempunyai nilai minimum dan maksimum tertentu, anda mungkin perlu melaraskan output dengan sewajarnya.

Pertimbangkan situasi berikut: Anda mempunyai dua nilai ganda, min dan maks, dan anda ingin menjana ganda ganda rawak antara dua nilai tersebut. Kod berikut hanya menghasilkan dua kali ganda rawak antara 0 dan 1:

Random r = new Random();
r.nextDouble();

Untuk menentukan julat, anda perlu melakukan beberapa pengiraan tambahan:

Random r = new Random();
double rangeMin = 100;
double rangeMax = 101;
double randomValue = rangeMin + (rangeMax - rangeMin) * r.nextDouble();

Begini cara kod ini berfungsi:

  • Objek Rawak r menghasilkan gandaan rawak antara 0 dan 1.
  • Pembolehubah randomValue dikira dengan menambah nilai julatMin kepada perbezaan antara julatMax dan julatMin didarab dengan yang dijana secara rawak dua kali ganda.

Pengiraan ini dengan berkesan mengalihkan julat nilai yang dijana kepada dalam had yang ditentukan. Oleh itu, randomValue akan menjadi dua kali ganda rawak antara rangeMin dan rangeMax.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Ganda Rawak Dalam Julat Tertentu dalam Pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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