Rabu, 15 Desember 2010

RandomGenerator Berbasis Java

Kelas RandomGenerator
java.lang.Object
|
+ - java.util.Random
|
+ - Acm.util.RandomGenerator
public class RandomGenerator extends Random

Kelas ini menerapkan simple random number generator yang memungkinkan nasabah untuk menghasilkan bilangan bulat pseudorandom, ganda, boolean, dan warna. Untuk menggunakannya, langkah pertama adalah mendeklarasikan variabel instan untuk memegang generator acak sebagai berikut:

swasta RandomGenerator rgen = RandomGenerator.getInstance ();

Bila Anda kemudian perlu untuk menghasilkan nilai acak, Anda memanggil metode yang sesuai pada variabel rgen.
Kelas RandomGenerator sebenarnya diimplementasikan sebagai perpanjangan ke kelas Random di java.util. Versi baru ini memiliki beberapa keuntungan atas asli:
Nama kelas menekankan bahwa objek adalah generator acak daripada nilai acak.
Kelas mencakup kelebihan versi nextInt dan nextDouble untuk menyederhanakan angka memilih dalam kisaran tertentu.
Metode ini nextBoolean kelebihan beban untuk memungkinkan spesifikasi probabilitas.
Kelas mencakup nextColor metode yang menghasilkan warna buram acak.

Pembuat Ringkasan
RandomGenerator ()
Membuat generator acak baru diinisialisasi sebagai titik awal yang tidak terduga.

Ringkasan Metode
RandomGenerator getInstance ()
Metode ini mengembalikan turunan RandomGenerator yang bisa dibagi di antara beberapa kelas.
boolean nextBoolean (p ganda)
Mengembalikan nilai boolean acak dengan probabilitas tertentu.
Warna nextColor ()
Menghasilkan buram acak Warna yang dipilih komponen seragam dalam kisaran 0-255.
dobel nextDouble (double rendah, double tinggi)
Mengembalikan bilangan real berikutnya acak dalam kisaran tertentu.
int nextInt (rendah int, int tinggi)
Mengembalikan integer acak berikutnya dalam kisaran tertentu.

Warisan Metode Ringkasan
boolean nextBoolean ()
Mengembalikan sebuah boolean acak yang benar 50 persen dari waktu.
dobel nextDouble ()
Menghasilkan d acak ganda dalam kisaran 0 ≤ d <1.
int nextInt (int n)
Menghasilkan integer acak k dalam kisaran 0 ≤ k < n .
kekosongan setSeed (biji panjang)
Menetapkan titik awal baru untuk generator urutan acak.

Constructor Detail

public RandomGenerator ()
Membuat generator acak baru diinisialisasi sebagai titik awal yang tidak terduga. Di hampir semua program, Anda ingin memanggil metode ini sekali untuk menghasilkan objek generator tunggal, yang kemudian digunakan setiap waktu yang Anda butuhkan untuk menghasilkan nilai acak. Jika Anda membuat beberapa generator acak berturut-turut, mereka biasanya akan menghasilkan urutan nilai yang sama.

Selama debugging, seringkali berguna untuk mengatur benih internal untuk pembangkit acak secara eksplisit sehingga selalu mengembalikan urutan yang sama. Untuk melakukannya, Anda perlu memanggil setSeed metode.

Penggunaan: RandomGenerator rgen = baru RandomGenerator ();

Metode Detail

public static RandomGenerator getInstance ()
Metode ini mengembalikan turunan RandomGenerator yang bisa dibagi di antara beberapa kelas.

Penggunaan: RandomGenerator rgen = RandomGenerator.getInstance ();
Pengembalian: Sebuah objek terbagi RandomGenerator


public boolean nextBoolean (double p)
Mengembalikan nilai boolean acak dengan probabilitas tertentu. Anda dapat menggunakan metode ini untuk mensimulasikan sebuah peristiwa yang terjadi dengan probabilitas tertentu. Sebagai contoh, Anda dapat mensimulasikan hasil dari melempar koin seperti ini:

String coinFlip = rgen.nextBoolean (0,5)? "KEPALA": "ekor";

Penggunaan: if (rgen.nextBoolean (p)). . .
Parameter: p Sebuah nilai antara 0 (mustahil) dan 1 (tertentu) menunjukkan probabilitas

Pengembalian: Nilai sebenarnya dengan probabilitas p


public Color nextColor ()
Menghasilkan buram acak Warna yang dipilih komponen seragam dalam kisaran 0-255.

Penggunaan: Warna color = rgen.newColor ()
Pengembalian: Sebuah buram acak Warna


public double nextDouble (double low, double high)
Mengembalikan bilangan real berikutnya acak dalam kisaran tertentu. Nilai yang dihasilkan selalu paling rendah tetapi selalu tegas kurang dari tinggi. Anda dapat menggunakan metode ini untuk menghasilkan nilai acak kontinu. Sebagai contoh, Anda dapat mengatur variabel-variabel x dan y untuk menentukan titik acak dalam unit persegi sebagai berikut:

double x = rgen.nextDouble (0.0, 1.0);
double y = rgen.nextDouble (0.0, 1.0);

Penggunaan: double d = rgen.nextDouble (rendah, tinggi)
Parameter: rendah Akhir rendah rentang
tinggi Akhir yang tinggi dari kisaran

Pengembalian: Sebuah nilai double d acak dalam kisaran rendah ≤ d

public int nextInt (int low, int high)
Mengembalikan integer acak berikutnya dalam kisaran tertentu. Sebagai contoh, Anda dapat menghasilkan gulungan mati enam sisi dengan menelepon

rgen.nextInt (1, 6);

atau desimal angka acak dengan menelepon

rgen.nextInt (0, 9);

Penggunaan: int k = rgen.nextInt (rendah, tinggi)
Parameter: rendah Akhir rendah rentang
tinggi Akhir yang tinggi dari kisaran

Pengembalian: Int random berikutnya antara dan tinggi, inklusif rendah

Tidak ada komentar: