Hva er Random Number Generator i Java?

Tilfeldige tall brukes ofte til å lage applikasjoner som Terninger for et brettspill, et gambling-program, osv. Normalt tar tilfeldighetsnummergenerasjonen mye tid. Men på Java-programmeringsspråk kan dette oppnås på tre måter. De blir adressert i avsnittet under Tilfeldige generasjonsfunksjoner i Java.

Tilfeldige nummergeneratorfunksjoner i Java

I Java kan tilfeldige nummer genereres på tre måter:

  • Math.random-metoden
  • java.util.Random klasse
  • TrådLokalRandom-klasse

1. Math.random () Metode

Java Math-klassen tilbyr en rekke metoder for å jobbe med beregninger som logaritmer, gjennomsnitt, eksponentiering, etc. tilfeldig () er en av metodene blant dem som gir en positiv dobbeltverdi i området 0, 0 og 1, 0 der 0.0 er inkluderende og 1.0 er eksklusiv. Denne metoden kan brukes med eller uten å bruke parametere. Hvis parametere er gitt, vil det tilfeldige tallet som genereres være innenfor den gitte parameterens område.

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

Produksjon:

I eksemplet ovenfor genereres tilfeldig nummer ved bruk av Math.random () -metoden på to måter - Direkte anvendelse av den inne i hovedmetoden, og kalle en metode som inneholder Math.random () ved å bruke objektet. Som nevnt i forklaringen over, kan vi se at det genereres 2 tilfeldige tall i området 0, 0 og 1, 0.

For å generere et tilfeldig tall innenfor parametrene, nevnes det generelle uttrykket som brukes:

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

Eksempel 2

Hvor maksverdi er den øvre grensen av området og minverdien er den nedre grensen av området. For eksempel, for å generere et tilfeldig tall mellom 10 og 20, må du angi maksverdien som 20 og minverdien 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 );
) )

Produksjon:

2. java.util.Random Class

Java.util.Random-klassen genererer tilfeldige tall for forskjellige datatyper som flyter, lang, heltall, dobbelt, boolsk osv. Det er også mulig å passere rekkevidden av tall som argumenter, slik at et tilfeldig tall blir generert innenfor det området . For å kunne bruke denne klassen, må tilfeldig klasse av java.util importeres (java.util.Random). Når denne klassen er importert, oppretter du en forekomst og ringer til metodene som neste lang (), nextInt () osv. Ved bruk av den forekomsten.

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

Produksjon:

I programmet over genereres en tilfeldig dobbel verdi ved å bruke metoden nextDouble ().

3. ThreadLocalRandom-klasse

ThreadLocalRandom-klassen er en spesialisert type tilfeldig klasse som blir introdusert i Java versjon 1.7. ThreadLocalRandom.current (). NextInt () er en av de vanlige metodene som brukes til å generere tilfeldige tall. Det brukes vanligvis i flertrådede applikasjoner.

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

Produksjon:

Generasjon av heltall

Tilfeldige heltall kan genereres ved å bruke ThreadLocalRandom-klassen og Random Class. I begge tilfeller brukes en metode nextInt () for 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);
)
)

Produksjon:

I eksemplet ovenfor genereres tre tilfeldige tall for heltallstype der en av metoden nextInt () har 30 som argument. Så mens du genererer et tilfeldig tall, vil 30 bli satt som den øvre grensen og null (standard nedre grense) vil bli satt som den nedre grensen.

Genererer Float-nummer

I likhet med å generere heltallstall, kan flytende punktnumre genereres ved hjelp av en metode nextFloat (). Denne metoden kan brukes 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);
)
)

Produksjon:

Konklusjon

Java inneholder en mengde funksjoner som kan brukes i programmer. Dette hjelper med å redusere behandlingstiden og kodelinjene. Tilfeldig nummergenerering er en oppgave der vi kan bruke noen av disse funksjonene. Dette dokumentet dekker de forskjellige metodene for å oppnå dette.

Anbefalte artikler

Dette er en guide til Random Number Generator i Java. Her diskuterer vi funksjoner i java med eksempler og to forskjellige generatorer. Du kan også gå gjennom andre relaterte artikler for å lære mer -

  1. Tilfeldig nummergenerator i Python
  2. Tilfeldig nummergenerator i C.
  3. Tilfeldig nummergenerator i R
  4. Rekursjon i Java
  5. Tilfeldig nummergenerator i Matlab
  6. Tilfeldig nummergenerator i C #
  7. Arrays i Java-programmering
  8. Tilfeldig nummergenerator i JavaScript
  9. Tilfeldig nummergenerator i PHP