CodeGym /Java Blog /Acak /Kelas Java.util.Random
John Squirrels
Level 41
San Francisco

Kelas Java.util.Random

Dipublikasikan di grup Acak

Apa kelas java.util.Random di Jawa?

Kelas java.util.Random digunakan untuk menghasilkan angka pseudorandom. Metode yang diimplementasikan oleh kelas ini digunakan untuk menghasilkan tipe data acak yang berbeda seperti int, double, dan float. Jadi ada dua jenis utama angka acak, angka acak statistik dan angka acak semu . Angka acak secara statistik (seperti angka acak sederhana dalam matematika), adalah sekumpulan nilai yang tidak memiliki pola yang dapat dikenali. Misalnya, melempar dadu 10 kali akan menghasilkan angka acak setiap kali yang tidak memiliki pola yang dapat dikenali.

Apa itu Angka Acak Pseudo?

Ini adalah sekumpulan nilai yang acak secara statistik tetapi memiliki titik awal yang diketahui . Di Jawa, setiap nomor pseudorandom dihasilkan melalui suatu algoritma. Jadi biasanya siklus diulang setiap kali java.util.Random menghasilkan nomor acak. Generator angka acak di Java akan menghasilkan angka acak secara statistik tetapi dengan titik awal yang diketahui, dihasilkan oleh suatu algoritme. Itu membuat nilai-nilai itu pseudorandom.

Apakah kelas java.util.Random Kriptografi Tidak Aman?

Ini secara kriptografis tidak aman karena memiliki algoritma yang diterapkan untuk menghasilkan angka acak. Akibatnya, seseorang yang mengetahui cara kerja algoritme tidak akan menghabiskan banyak waktu untuk mengakses data sensitif Anda. Jadi jika Anda bekerja dengan beberapa aplikasi keamanan, diperlukan untuk mengamankan beberapa data sensitif, atau perlu membuat kata sandi acak, lebih baik hindari menggunakan kelas ini. Ini sangat membantu dalam banyak kasus seperti menghasilkan angka acak untuk lemparan dadu Anda di ludo, perjudian, melakukan lemparan untuk pertandingan atau area lain di mana hasil yang Anda inginkan tidak dapat diprediksi.

Deklarasi Metode

Untuk menggunakan metode kelas ini, Anda perlu mengimpornya terlebih dahulu dari paket sebagai

import java.util.Random;
Setelah mengimpor, Anda perlu membuat objek seperti kelas ini

Random randomNumbers = new Random();
Lebih jauh lagi, mari kita lihat berbagai contoh untuk menggunakan kelas java.util.Random .

Contoh


import java.util.Random;

public class RandomClassExample1 {

	public static void main(String[] args) {

		// create random object
		Random randomNumbers = new Random();
		
		System.out.println("----------Random Boolean---------" );
		/*
		 * Returns the next pseudo random boolean value which 
		 * may be used in a toss for a match
		 */
		boolean value = randomNumbers.nextBoolean();
		System.out.println("The random boolean value is: " + value);
		
		/*
		 * Returns the next pseudo random integer value between 0 and 5  
		 * because if we use '6' then, it will give random numbers from 0 to 6 
		 * hence incrementing it by 1 you can use it as a result of a dice roll
		 */
		System.out.println("\n----------Random Integer---------" );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
		
		// return the next pseudo random long value
		Long val = randomNumbers.nextLong();
		System.out.println("\n----------Random Long---------" );
		System.out.println("Random Long value: " + val);
		
		/*
		 * Generates random bytes and puts them in an array, which you can for some
		 * desired unpredictable result that is summing all the values in the array
		 */
		
		System.out.println("\n----------Random Bytes---------" );
		byte[] bytes = new byte[8];
		randomNumbers.nextBytes(bytes);
		
		System.out.print("These are the random bytes = [ ");
		for (int i = 0; i < bytes.length; i++) {
			System.out.printf("%d ", bytes[i]);
		}
		System.out.println("]");
	}

}

Keluaran

----------Boolean Acak--------- Nilai boolean acak adalah: benar ----------Bilangan Bulat Acak---------------- Gulungan: 4 Gulungan Mati: 6 Gulungan Mati: 1 Gulungan Mati: 1 Gulungan Mati: 3 ---------- Panjang Acak --------- Nilai Panjang Acak: -6029959293504570824 ---- ------Byte Acak--------- Ini adalah byte acak = [ -37 90 -98 -70 23 -111 19 108 ]

Metode

Sekarang kita akan membahas beberapa metode yang disediakan oleh class ini, dengan mengingat bahwa randomNumbers adalah objek atau instance dari class kita.
  1. ganda() :

    Metode ini mengembalikan rangkaian tak terbatas dari nilai ganda yang dihasilkan secara acak semu. Sekarang mari kita lihat bagaimana menggunakan metode ini.

    
    randomNumbers.doubles();
    
  2. int() :

    Metode ini mengembalikan serangkaian tak terbatas dari nilai bilangan bulat yang dihasilkan secara acak semu. Anda dapat menggunakan skrip berikut untuk memanggil metode ini.

    
    randomNumbers.ints();
    
  3. rindu() :

    Metode ini mengembalikan rangkaian tak terbatas dari nilai panjang yang dihasilkan secara acak semu. Skrip berikut digunakan untuk memanggil metode ini.

    
    randomNumbers.longs();
    
  4. nextBoolean() :

    Metode ini mengembalikan nilai boolean pseudorandom terdistribusi seragam berikutnya dari urutan pembangkit bilangan acak. Distribusi seragam berbentuk persegi panjang, artinya setiap nilai dalam distribusi memiliki probabilitas yang sama. Inilah cara menggunakan metode ini.

    
    randomNumbers.nextBoolean();
    
  5. nextInt(int n) :

    Metode ini mengembalikan nilai bilangan bulat pseudorandom terdistribusi seragam berikutnya dari urutan pembangkit bilangan acak antara 0 inklusif dan nilai eksklusif yang disediakan. Lihat sekilas cara menggunakan metode ini.

    
    randomNumbers.nextInt(10);
    

Kesimpulan

Kami berharap sekarang Anda mengerti apa itu java.util.Random dan bagaimana menerapkan metode yang berbeda dan dalam skenario apa untuk menggunakannya. Anda selalu dapat menggunakan kelas ini di java. Jangan ragu untuk berlatih dan kembali ke sini kapan pun Anda membutuhkan bantuan lebih lanjut. Selamat belajar!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION