Čo je generátor náhodných čísel v Jave?

Náhodné čísla sa bežne používajú pri vytváraní aplikácií ako Kocky pre stolovú hru, Program pre hazardné hry atď. Normálne generovanie náhodných čísel trvá veľa času. V programovacom jazyku Java sa to však dá dosiahnuť tromi spôsobmi. Sú uvedené v nižšie uvedenej časti Funkcie generovania náhodných čísel v Jave.

Funkcie generátora náhodných čísel v Jave

V jazyku Java je možné generovať náhodné čísla tromi spôsobmi:

  • Math.random metóda
  • java.util.Náhodná trieda
  • ThreadLocalRandom class

1. Metóda Math.random ()

Trieda Java Math ponúka množstvo metód, ako pracovať s výpočtami, ako sú logaritmy, priemer, exponentia atď. Random () je jednou z metód, ktorá vracia kladnú dvojitú hodnotu v rozsahu 0, 0 a 1, 0, pričom 0, 0 je vrátane a 1.0 je exkluzívny. Táto metóda môže byť použitá s alebo bez použitia parametrov. Ak sú uvedené parametre, vygenerované náhodné číslo bude v rozsahu daného parametra.

Príklad č. 1

kód:

public class RandomNumber (
double num; //Declare a variable num
//Method which generates a random number
public double randnum()
(
num=Math.random();
return num;
)
// Main Method of a program
public static void main(String() args) (
//Printing a random number
System.out.println("Random Number generated inside main method: "+Math.random());
//Create an object of the class RandomNumber
RandomNumber randomobj=new RandomNumber();
//Store the return value obtained from randnum method in a variable randomval
double randomval=randomobj.randnum();
//Printing the random number stored in variable randomval
System.out.println("Random Number generated inside randomnumber method: "+randomval);
)
)

Výkon:

Vo vyššie uvedenom príklade je náhodné číslo vygenerované pomocou metódy Math.random () dvoma spôsobmi - priame použitie v rámci hlavnej metódy a volanie metódy, ktorá obsahuje Math.random () pomocou objektu. Ako je uvedené vo vysvetlení vyššie, vidíme, že sa generujú 2 náhodné čísla v rozsahu 0, 0 a 1, 0.

Na vygenerovanie náhodného čísla v rozsahu parametrov je uvedený nasledujúci všeobecný výraz:

Math.random () * ((maximálna hodnota - minimálna hodnota) +1) + minimálna hodnota

Príklad č. 2

Ak je maximálna hodnota horná hranica rozsahu a minimálna hodnota je dolná hranica rozsahu. Napríklad, aby sa vygenerovalo náhodné číslo medzi 10 a 20, nastavte maximálnu hodnotu na 20 a minimálnu na 10.

kód:

public class RandomNumParameters (
public double randomnum(double x, double y)//max value-y, min value-x
(
double z =(Math.random()*((yx)+1)+x); //Formula for random number generation within a range
return z;
)
public static void main(String() args)
(
RandomNumParameters ran=new RandomNumParameters(); //Create instance for the class RandomNumParameters
double num=ran.randomnum(3.0, 10.0); //Call the Method
System.out.println("Random number generated within the range of 3 and 10: "+num );
) )

Výkon:

2. java.util.Náhodná trieda

Java.util.Random trieda generuje náhodné čísla rôznych dátových typov, ako sú float, long, integer, double, Boolean, atď. Je tiež možné odovzdať rozsah čísel ako argumenty, takže v tomto rozsahu sa vygeneruje náhodné číslo., Ak chcete použiť túto triedu, musíte sa naimportovať náhodnú triedu java.util (java.util.Random). Po importovaní tejto triedy vytvorte inštanciu a pomocou tejto inštancie zavolajte metódy, ako je next long (), nextInt () atď.

Príklad č. 1

kód:

//Java program to generate Random numbers using Random class
package Sample;
import java.util.Random; //import Random Class
public class RandomNum (
public static void main(String() args) (
Random rand=new Random(); //Create instance of Random class
double randomnum=rand.nextDouble(); //Assign the Random Double value in randomnum variable
System.out.println("Random Double value: "+ randomnum);
)
)

Výkon:

Vo vyššie uvedenom programe sa náhodná dvojitá hodnota generuje pomocou metódy nextDouble ().

3. ThreadLocalRandom trieda

ThreadLocalRandom je špecializovaný typ triedy Random, ktorý je uvedený v Java verzii 1.7. ThreadLocalRandom.current (). NextInt () je jednou z bežných metód, ktorá sa používa na generovanie náhodných čísel. Bežne sa používa vo viacvláknových aplikáciách.

Príklad č. 1

kód:

//Java Program to generate random numbers using ThreadLocalRandom Class
import java.util.concurrent.ThreadLocalRandom;
public class RandomNumThread (
public static void main(String() args) (
//print a random double
System.out.println("Random Double value using ThreadLocalRandom: "+ThreadLocalRandom.current().nextDouble());
)
)

Výkon:

Generovanie celých čísel

Náhodné celé čísla môžu byť generované pomocou triedy ThreadLocalRandom a náhodné triedy. V obidvoch prípadoch sa metóda nextInt () používa pre to isté:

Príklad č. 1

kód:

//Java program to generate Random integer numbers using Random and THreadLocalRandom Class
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomInteger (
public static void main(String() args) (
Random rnd=new Random(); //Create instance of Random class
int randomnum1=rnd.nextInt(); //Random Integer value using Random Class
int randomnum2=rnd.nextInt(30); //Random Integer value within the range of 30
int randomnum3= ThreadLocalRandom.current().nextInt(); //Random Integer value using ThreadLocalRandom Class
System.out.println("Random Integer value using Random Class: "+ randomnum1);
System.out.println("Random Integer value within the range of 30: "+ randomnum2);
System.out.println("Random Integer value using ThreadLocalRandom Class: "+ randomnum3);
)
)

Výkon:

Vo vyššie uvedenom príklade sa vygenerujú tri čísla typu náhodných celých čísel, kde jedna z metód nextInt () má ako argument hodnotu 30. Takže pri generovaní náhodného čísla bude 30 nastavené ako horná hranica a nula (predvolená dolná hranica) bude nastavená ako dolná hranica.

Generovanie čísel s pohyblivou rádovou čiarkou

Podobne ako pri generovaní celých čísel, čísla s pohyblivou rádovou čiarkou sa môžu generovať pomocou metódy nextFloat (). Túto metódu je možné použiť v triedach Random Class aj ThreadLocalRandom:

Príklad č. 1

kód:

//Java program to generate Random Float numbers using Random and THreadLocalRandom Class
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomFloat (
public static void main(String() args) (
Random rnd=new Random(); //Create instance of Random class
float randomnum1=rnd.nextFloat(); //Random Float value using Random Class
float randomnum2= ThreadLocalRandom.current().nextFloat(); //Random Float value using ThreadLocalRandom Class
System.out.println("Random float value using Random Class: "+ randomnum1);
System.out.println("Random float value using ThreadLocalRandom Class: "+ randomnum2);
)
)

Výkon:

záver

Java obsahuje množstvo funkcií, ktoré môžu byť použité v programoch. Pomáha to skrátiť čas spracovania a riadky kódu. Generovanie náhodných čísel je jednou z úloh, kde môžeme využiť niektoré z týchto funkcií. Tento dokument obsahuje rôzne metódy na dosiahnutie tohto cieľa.

Odporúčané články

Toto je sprievodca generátorom náhodných čísel v Jave. Tu diskutujeme funkcie v jave s príkladmi a dvoma rôznymi generátormi. Viac informácií nájdete aj v ďalších súvisiacich článkoch -

  1. Generátor náhodných čísel v Pythone
  2. Generátor náhodných čísel v C
  3. Generátor náhodných čísel v R
  4. Rekurzia v Jave
  5. Generátor náhodných čísel v Matlabe
  6. Generátor náhodných čísel v C #
  7. Polia v programovaní Java
  8. Generátor náhodných čísel v JavaScripte
  9. Generátor náhodných čísel v PHP

Kategórie: