Hvad er Random Number Generator i Java?

Tilfældige numre bruges ofte til at oprette applikationer som terninger til et brætspil, et gambling-program osv. Normalt tager den tilfældige talgeneration meget tid. Men i Java-programmeringssprog kan dette opnås på tre måder. De behandles i nedenstående afsnit Tilfældige nummergeneratorfunktioner i Java.

Tilfældige nummergeneratorfunktioner i Java

I Java kan tilfældige numre genereres på 3 måder:

  • Math.random-metode
  • java.util.Random klasse
  • ThreadLocalRandom-klasse

1. Math.random () Metode

Java Math-klassen tilbyder et antal metoder til at arbejde på beregninger som logaritmer, gennemsnit, eksponentiering osv. Tilfældig () er en af ​​metoderne blandt dem, der returnerer en positiv dobbeltværdi inden for området 0, 0 og 1, 0, hvor 0, 0 er inkluderende og 1.0 er eksklusiv. Denne metode kan bruges med eller uden brug af parametre. Hvis der gives parametre, vil det genererede tilfældige antal være inden for den givne parameters rækkevidde.

Eksempel 1

Kode:

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);
)
)

Produktion:

I ovenstående eksempel genereres tilfældigt nummer ved hjælp af metoden Math.random () på to måder - Direkte anvendelse af den inden i hovedmetoden, og kaldelse af en metode, der indeholder Math.random () ved hjælp af objektet. Som nævnt i forklaringen ovenfor kan vi se, at der genereres 2 tilfældige tal inden for området 0, 0 og 1, 0.

For at generere et tilfældigt tal inden for rækkevidden af ​​parametre nævnes det generelle udtryk, der bruges nedenfor:

Math.random () * ((maxvalue - minvalue) +1) + minvalue

Eksempel 2

Hvor maxvalue er den øverste grænse af området og min værdien er den nedre grænse af området. For eksempel for at generere et tilfældigt tal mellem 10 og 20 skal du indstille maksimalværdien som 20 og minvalue som 10.

Kode:

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 );
) )

Produktion:

2. java.util.Random Class

Java.util.Random-klasse genererer tilfældige tal af forskellige datatyper, såsom float, lang, heltal, dobbelt, boolsk osv. Det er også muligt at videregive antallet af tal som argumenter, så der genereres et tilfældigt tal inden for dette interval . For at bruge denne klasse skal Random-klassen af ​​java.util importeres (java.util.Random). Når denne klasse er importeret, skal du oprette en instans og ringe til metoderne som næste lang (), næsteInt () osv. Ved hjælp af denne instans.

Eksempel 1

Kode:

//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);
)
)

Produktion:

I ovenstående program genereres en tilfældig dobbeltværdi ved hjælp af metoden nextDouble ().

3. ThreadLocalRandom-klasse

ThreadLocalRandom-klasse er en specialiseret type tilfældig klasse, der introduceres i Java version 1.7. ThreadLocalRandom.current (). NextInt () er en af ​​de almindelige metoder, der bruges til at generere tilfældige tal. Det bruges normalt i flertrådede applikationer.

Eksempel 1

Kode:

//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());
)
)

Produktion:

Generering af heltal

Tilfældige heltal kan genereres vha. Klassen ThreadLocalRandom og Tilfældig klasse. I begge tilfælde bruges en metode nextInt () til det samme:

Eksempel 1

Kode:

//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);
)
)

Produktion:

I ovenstående eksempel genereres der tre tilfældige tal for heltallet, hvor den ene af metoden NextInt () har 30 som et argument. Så mens der genereres et tilfældigt tal, indstilles 30 som den øvre grænse, og nul (standard nedre grænse) indstilles til den nedre grænse.

Generering af float point numre

I lighed med at generere heltalnumre, kan flydepunktnumre genereres ved hjælp af en metode nextFloat (). Denne metode kan bruges i både Random Class og ThreadLocalRandom Class:

Eksempel 1

Kode:

//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);
)
)

Produktion:

Konklusion

Java indeholder en overflod af funktioner, der kan bruges i programmer. Dette hjælper med at reducere behandlingstid og kodelinjer. Tilfældig nummergenerering er en opgave, hvor vi kan bruge nogle af disse funktioner. Dette dokument dækker de forskellige metoder til at opnå dette.

Anbefalede artikler

Dette er en guide til Random Number Generator i Java. Her diskuterer vi funktioner i java med eksempler og to forskellige generatorer. Du kan også gennemgå vores andre relaterede artikler for at lære mere -

  1. Tilfældig nummergenerator i Python
  2. Tilfældig nummergenerator i C.
  3. Tilfældig nummergenerator i R
  4. Rekursion i Java
  5. Tilfældig nummergenerator i Matlab
  6. Tilfældig nummergenerator i C #
  7. Arrays i Java-programmering
  8. Tilfældig nummergenerator i JavaScript
  9. Tilfældig nummergenerator i PHP

Kategori: