CodeGym/Blog Java/Aleatoriu/Clasa Java.util.Random
John Squirrels
Nivel
San Francisco

Clasa Java.util.Random

Publicat în grup

Ce este clasa java.util.Random în Java?

Clasa java.util.Random este folosită pentru a genera numere pseudoaleatoare. Metodele implementate de această clasă sunt folosite pentru a genera diferite tipuri de date aleatoare, cum ar fi int, double și float. Deci, există două tipuri majore de numere aleatoare, numere aleatoare statistic și numere pseudoaleatoare . Numerele aleatoare din punct de vedere statistic (cum ar fi numerele aleatoare simple în matematică), sunt un set de valori care nu au un model de recunoscut. De exemplu, aruncarea unui zar de 10 ori va genera de fiecare dată un număr aleatoriu care nu are niciun model de recunoscut.

Ce sunt numere pseudoaleatoare?

Este un set de valori care sunt aleatoare din punct de vedere statistic, dar au un punct de plecare cunoscut . În Java, fiecare număr pseudoaleator este produs printr-un algoritm. Deci, de obicei, un ciclu se repetă de fiecare dată când java.util.Random generează un număr aleator. Un generator de numere aleatoare în Java va produce numere aleatoare statistic, dar cu un punct de plecare cunoscut, generate de un algoritm. Asta face ca acele valori să fie pseudoaleatoare.

Clasa java.util.Random este nesigură din punct de vedere criptografic?

Este nesigur din punct de vedere criptografic deoarece are algoritmi implementați pentru generarea de numere aleatorii. Drept urmare, o persoană care știe cum funcționează algoritmul nu va dura mult timp pentru a accesa datele dvs. sensibile. Deci, dacă lucrați cu unele aplicații de securitate, necesare pentru a securiza anumite date sensibile sau trebuie să generați parole aleatorii, atunci este mai bine să evitați utilizarea acestei clase. Este util în multe cazuri, cum ar fi generarea unui număr aleatoriu pentru aruncarea de zaruri în ludo, jocuri de noroc, aruncarea unui meci sau alte domenii în care rezultatul dorit este imprevizibil.

Declarație de metodă

Pentru a utiliza metodele acestei clase, trebuie să o importați mai întâi din pachet ca
import java.util.Random;
După importare, trebuie să creați un obiect din această clasă, cum ar fi
Random randomNumbers = new Random();
Mergând mai departe, să aruncăm o privire la diferite exemple de utilizare a clasei java.util.Random .

Exemplu

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

}

Ieșire

----------Boolean aleatoriu--------- Valoarea booleană aleatoare este: adevărat ----------Întreg aleatoriu--------- Die Rolă: 4 Rolă de matriță: 6 Rola de matriță: 1 Rola de matriță: 1 rolă de matriță: 3 ----------Lung aleatoriu--------- Valoare lung aleatoriu: -6029959293504570824 ---- ------Octeți aleatori--------- Aceștia sunt octeții aleatori = [ -37 90 -98 -70 23 -111 19 108 ]

Metode

Acum vom discuta câteva dintre metodele oferite de această clasă, ținând cont de faptul că randomNumbers este obiectul sau instanța clasei noastre.
  1. se dubleaza() :

    Această metodă returnează o serie infinită de valori duble generate pseudoaleator. Acum să vedem cum să folosim această metodă.

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

    Această metodă returnează o serie infinită de valori întregi generate pseudoaleator. Puteți folosi următorul script pentru a apela această metodă.

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

    Această metodă returnează o serie infinită de valori lungi generate pseudoaleator. Următorul script este folosit pentru a apela această metodă.

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

    Această metodă returnează următoarea valoare booleană pseudoaleatoare distribuită uniform din secvența generatoare de numere aleatoare. Distribuția uniformă are formă dreptunghiulară, ceea ce înseamnă că fiecare valoare din distribuție are o probabilitate egală. Iată cum să utilizați această metodă.

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

    Această metodă returnează următoarea valoare întreagă pseudoaleatoare distribuită uniform din secvența generatorului de numere aleatoare între 0 inclusiv și valoarea furnizată exclusiv. Aveți o vedere rapidă a modului de utilizare a acestei metode.

    randomNumbers.nextInt(10);

Concluzie

Sperăm că până acum înțelegeți ce este java.util.Random și cum să implementați diferitele sale metode și în ce scenariu să îl utilizați. Puteți utiliza oricând această clasă în java. Simțiți-vă liber să exersați și să reveniți aici ori de câte ori aveți nevoie de mai multă asistență. Învățare fericită!
Comentarii
  • Popular
  • Nou
  • Vechi
Trebuie să fii conectat pentru a lăsa un comentariu
Această pagină nu are încă niciun comentariu