Kaj je generator naključnih števil na Javi?

Naključne številke se običajno uporabljajo pri ustvarjanju aplikacij, kot so kocke za družabne igre, program za igre na srečo itd. Običajno generiranje naključnih števil zahteva veliko časa. Toda v programskem jeziku Java je to mogoče doseči na tri načine. Obravnavani so v spodnjem razdelku Funkcije generatorja naključnih števil na Javi.

Funkcije generatorja naključnih števil v Javi

Na Javi je mogoče naključne številke ustvariti na 3 načine:

  • Math.random metoda
  • java.util.Random razred
  • Razred ThreadLocalRandom

1. Metoda Math.random ()

Razred Java Math ponuja številne metode za izračun, kot so logaritmi, povprečje, eksponentizacija itd. Naključno () je ena od metod med njimi, ki vrne pozitivno dvojno vrednost v območju 0, 0 in 1, 0, kjer je 0, 0 vključujoč in 1.0 je ekskluzivno. Ta metoda se lahko uporablja z ali brez uporabe parametrov. Če so podani parametri, bo generirano naključno število v območju podanega parametra.

Primer # 1

Koda:

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

Izhod:

V zgornjem primeru se naključno število ustvari z metodo Math.random () na dva načina - Neposredna uporaba v glavni metodi in klicanje metode, ki vsebuje Math.random () z uporabo predmeta. Kot smo omenili v zgornji razlagi, lahko vidimo, da se v območju 0, 0 in 1, 0 generirata dve naključni številki.

Za ustvarjanje naključnega števila v območju parametrov je spodaj omenjen splošni izraz:

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

Primer # 2

Kjer je najvišja vrednost zgornja meja obsega, najmanjša vrednost pa spodnja meja razpona. Na primer, da ustvarite naključno število med 10 in 20, nastavite največjo vrednost kot 20 in najmanjšo vrednost 10.

Koda:

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

Izhod:

2. java.util.Random razred

Razred Java.util.Random generira naključna števila različnih vrst podatkov, kot so float, long, integer, double, Boolean itd. Prav tako je mogoče posredovati obseg števil kot argumentov, tako da se v tem območju ustvari naključno število . Za uporabo tega razreda je treba uvoziti naključni razred java.util (java.util.Random). Ko je ta razred uvožen, ustvarite primerek in pokličite metode, kot so naslednji long (), nextInt () itd. Z uporabo tega primerka.

Primer # 1

Koda:

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

Izhod:

V zgornjem programu se ustvari naključna dvojna vrednost z uporabo metode nextDouble ().

3. Razred ThreadLocalRandom

Razred ThreadLocalRandom je specializiran tip razreda Random, ki je predstavljen v različici Java 1.7. ThreadLocalRandom.current (). NextInt () je ena od pogostih metod, ki se uporablja za ustvarjanje naključnih števil. Običajno se uporablja v večnamenskih aplikacijah.

Primer # 1

Koda:

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

Izhod:

Generacija celih

Naključna cela števila se lahko ustvarijo z razredom ThreadLocalRandom in Random Class. V obeh primerih se za isto uporablja metoda nextInt ():

Primer # 1

Koda:

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

Izhod:

V zgornjem primeru se ustvarijo tri številke naključnih celoštevilčnih vrst, pri katerih ima ena od naslednjih metod (30) kot argument. Med generiranjem naključnega števila bo 30 postavljeno kot zgornja meja, nič (privzeta spodnja meja) pa kot spodnja meja.

Ustvari številke s plavalno točko

Podobno kot generiranje celih števil, lahko številke s plavajočo vejico ustvarite z uporabo metode nextFloat (). Ta metoda se lahko uporablja tako v naključnem razredu kot v razredu ThreadLocalRandom:

Primer # 1

Koda:

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

Izhod:

Zaključek

Java vsebuje množico funkcij, ki jih je mogoče uporabiti v programih. To pomaga zmanjšati čas obdelave in vrstice kode. Generacija naključnih števil je ena naloga, pri kateri lahko uporabimo nekatere od teh funkcij. Ta dokument zajema različne metode za dosego tega.

Priporočeni članki

To je vodnik za generator naključnih števil na Javi. Tukaj razpravljamo o funkcijah v javi s primeri in dvema različnima generatorjema. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Generator naključnih števil v Pythonu
  2. Generator naključnih števil v C
  3. Generator naključnih števil v R
  4. Rekurzija na Javi
  5. Generator naključnih števil v Matlabu
  6. Generator naključnih števil v C #
  7. Nizi v programiranju Java
  8. Generator naključnih števil v JavaScript
  9. Generator naključnih števil v PHP