CodeGym /Blog Jawa /Acak /Java.util.Random class
John Squirrels
tingkat
San Francisco

Java.util.Random class

Diterbitake ing grup

Apa kelas java.util.Random ing Jawa?

Kelas java.util.Random digunakake kanggo generate nomer pseudorandom. Cara sing ditindakake dening kelas iki digunakake kanggo ngasilake macem-macem jinis data acak kayata int, dobel, lan float. Dadi ana rong jinis utama nomer acak, statistik acak lan pseudorandom nomer . Nomer acak kanthi statistik (kaya nomer acak sing prasaja ing matematika), minangka sakumpulan nilai sing ora duwe pola sing bisa dingerteni. Contone, muter dadu 10 kaping bakal generate nomer acak saben wektu sing ora duwe pola dikenali.

Apa Pseudo Random Numbers?

Iki minangka sakumpulan nilai sing sacara statistik acak nanging nduweni titik wiwitan sing dikenal . Ing Jawa, saben nomer pseudorandom diprodhuksi liwat algoritma. Dadi biasane siklus diulang saben wektu java.util.Random ngasilake nomer acak. Generator nomer acak ing Jawa bakal ngasilake angka acak kanthi statistik nanging kanthi titik wiwitan sing dikawruhi, digawe dening algoritma. Sing nggawe nilai-nilai kasebut pseudorandom.

Apa java.util.Random class Cryptographically Insecure?

Iku cryptographically ora aman amarga wis kalkulus dipun ginakaken kanggo ngasilaken nomer acak. Akibaté, wong sing ngerti cara kerja algoritma ora butuh wektu akeh kanggo ngakses data sensitif sampeyan. Dadi, yen sampeyan nggarap sawetara aplikasi keamanan, perlu kanggo ngamanake sawetara data sensitif, utawa kudu nggawe sandhi acak, luwih becik supaya ora nggunakake kelas iki. Iku mbiyantu ing akeh kasus kaya ngasilaken nomer acak kanggo muter dadu ing ludo, gambling , nindakake tos kanggo pertandhingan utawa wilayah liyane ngendi asil sing dipengini ora bisa ditebak.

Metode Deklarasi

Kanggo nggunakake cara saka kelas iki sampeyan kudu ngimpor pisanan saka paket minangka

import java.util.Random;
Sawise ngimpor, sampeyan kudu nggawe obyek saka kelas iki kaya

Random randomNumbers = new Random();
Ngalih luwih, ayo kang duwe dipikir ing conto beda kanggo nggunakake kelas java.util.Random .

Tuladha


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("]");
	}

}

Output

----------Random Boolean--------- Nilai random boolean: true ----------Random Integer--------- Die Roll: 4 Die Roll: 6 Die Roll: 1 Die Roll: 1 Die Roll: 3 ----------Random Long--------- Random Long Value: -6029959293504570824 ---- ------Bit Acak--------- Iki minangka bita acak = [-37 90 -98 -70 23 -111 19 108 ]

Metode

Saiki kita bakal ngrembug sawetara cara sing diwenehake dening kelas iki, mbudidaya manawa randomNumbers minangka obyek utawa conto kelas kita.
  1. ganda() :

    Cara iki ngasilake seri tanpa wates saka nilai dobel pseudorandomly. Saiki ayo ndeleng carane nggunakake metode iki.

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

    Cara iki ngasilake seri tanpa wates saka nilai integer pseudorandomly kui. Sampeyan bisa nggunakake skrip ing ngisor iki kanggo nelpon metode iki.

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

    Cara iki ngasilake seri tanpa wates saka nilai dawa pseudorandomly kui. Skrip ing ngisor iki digunakake kanggo nyebut metode iki.

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

    Cara iki ngasilake nilai boolean pseudorandom sing disebarake kanthi seragam saka urutan generator nomer acak. Distribusi seragam iku wangun persegi dowo, tegese saben nilai ing distribusi duwe probabilitas sing padha. Mangkene carane nggunakake metode iki.

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

    Cara iki ngasilake nilai integer pseudorandom sing disebarake kanthi seragam saka urutan generator nomer acak antarane 0 klebu lan nilai sing kasedhiya eksklusif. Nduwe tampilan cepet babagan cara nggunakake metode iki.

    
    randomNumbers.nextInt(10);
    

Kesimpulan

Muga-muga saiki sampeyan ngerti apa java.util.Random lan cara ngetrapake cara sing beda-beda lan skenario sing digunakake. Sampeyan bisa tansah nggunakake kelas iki ing Jawa. Bebas bae kanggo latihan lan bali mrene yen sampeyan butuh pitulung liyane. Sugeng sinau!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION