Mis on Java-s juhuslike arvude generaator?

Juhuslikke numbreid kasutatakse tavaliselt selliste mängude loomisel nagu Dice lauamängu jaoks, hasartmänguprogramm jne. Juhuslike arvude genereerimine võtab tavaliselt palju aega. Kuid Java programmeerimiskeeles on seda võimalik saavutada kolmel viisil. Neid käsitletakse allolevas jaos Juhuslike arvude generaatori funktsioonid.

Juhuslike arvude generaatori funktsioonid Java-s

Java-s saab juhuslikke numbreid genereerida kolmel viisil:

  • Math.random meetod
  • java.util.Juhuslik klass
  • ThreadLocalRandom klass

1. Math.random () meetod

Java Math klass pakub arvutuste tegemiseks mitmeid meetodeid, näiteks logaritmid, keskmine, eksponentsiatsioon jne. Juhuslik () on nende hulgas üks meetoditest, mis annab positiivse topeltväärtuse vahemikus 0, 0–1, 0, kus 0, 0 on kaasav ja 1.0 on eksklusiivne. Seda meetodit saab kasutada koos parameetritega või ilma. Kui parameetrid on antud, jääb genereeritud juhuslik arv antud parameetri vahemikku.

Näide nr 1

Kood:

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äljund:

Ülaltoodud näites luuakse juhuslik arv, kasutades meetodit Math.random () kahel viisil - rakendades seda otse põhimeetodi sees ja kutsudes meetodit, mis sisaldab objekti kasutades Math.random (). Nagu ülaltoodud selgituses mainitud, näeme, et vahemikus 0, 0–1, 0 genereeritakse 2 juhuslikku arvu.

Juhusliku arvu genereerimiseks parameetrite vahemikus on kasutatud üldist avaldist mainitud allpool:

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

Näide 2

Kus maksimaalne väärtus on vahemiku ülemine piir ja min väärtus on vahemiku alumine piir. Näiteks juhusliku arvu genereerimiseks vahemikus 10 kuni 20 määrake maksimaalseks väärtuseks 20 ja miniväärtuseks 10.

Kood:

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äljund:

2. java.util.Juhuslik klass

Java.util.Random klass genereerib erinevate andmetüüpide (nt hõljumine, pikk, täisarv, topelt, tõeväärtus jne) juhuslikke numbreid. Samuti on võimalik argumentidena edastada numbrite vahemik, nii et selles vahemikus genereeritakse juhuslik arv. . Selle klassi kasutamiseks tuleb importida java.util juhuslik klass (java.util.Random). Kui see klass on imporditud, looge eksemplar ja helistage selle esinemisjuhu abil sellised meetodid nagu järgmine pikk (), nextInt () jne.

Näide nr 1

Kood:

//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äljund:

Ülaltoodud programmis genereeritakse juhuslik topeltväärtus, kasutades meetodit nextDouble ().

3. ThreadLocalRandom klass

ThreadLocalRandom klass on juhusliku klassi spetsialiseeritud tüüp, mis võetakse kasutusele Java versioonis 1.7. NextInt () on üks levinumaid meetodeid, mida kasutatakse juhuslike arvude genereerimiseks. Tavaliselt kasutatakse seda mitme keermega rakendustes.

Näide nr 1

Kood:

//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äljund:

Täisarvude genereerimine

Juhuslikke täisarvu saab genereerida klassi ThreadLocalRandom ja Random Class abil. Mõlemal juhul kasutatakse sama jaoks meetodit nextInt ():

Näide nr 1

Kood:

//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äljund:

Ülaltoodud näites genereeritakse kolm juhusliku täisarvu tüüpi numbrit, kus ühe järgmise meetodil NextInt on argument 30. Nii et juhusliku arvu genereerimisel seatakse ülempiiriks 30 ja alampiiriks null (vaikimisi alampiir).

Ujukpunkti numbrite genereerimine

Sarnaselt täisarvude genereerimisega saab ujukomaga numbreid genereerida meetodil nextFloat (). Seda meetodit saab kasutada nii juhuslikus klassis kui ka klassis ThreadLocalRandom:

Näide nr 1

Kood:

//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äljund:

Järeldus

Java sisaldab paljusid funktsioone, mida saab programmides kasutada. See aitab vähendada töötlemise aega ja koodiridu. Juhuslike arvude genereerimine on üks ülesanne, kus saame mõnda neist funktsioonidest kasutada. See dokument hõlmab erinevaid meetodeid selle saavutamiseks.

Soovitatavad artiklid

See on Java juhuslike arvude generaatori juhend. Siin arutame funktsioone javas näidete ja kahe erineva generaatoriga. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Juhuslike arvude generaator Pythonis
  2. Juhuslike arvude generaator C-s
  3. Juhuslike arvude generaator R-s
  4. Rekursioon Java-s
  5. Juhuslike arvude generaator Matlabis
  6. Juhuslike arvude generaator C-numbris
  7. Massiivid Java programmeerimises
  8. Juhuslike arvude generaator JavaScriptis
  9. Juhuslike arvude generaator PHP-s

Kategooria: