Što je generator slučajnih brojeva na Javi?

Nasumični brojevi obično se koriste u kreiranju aplikacija poput kockica za igru ​​na ploči, program za kockanje itd. Obično generiranje slučajnih brojeva oduzima puno vremena. Ali, u programskom jeziku Java to se može postići na tri načina. Obrađuju se u nastavku odjeljka Funkcije generatora slučajnih brojeva na Javi.

Funkcije generatora slučajnih brojeva na Javi

U Javi se nasumični brojevi mogu generirati na 3 načina:

  • Math.random metoda
  • java.util.Random klasa
  • Klasa ThreadLocalRandom

1. Metoda matematičke slučajnosti ()

Java Math klasa nudi brojne metode za rad na izračunima kao što su logaritmi, prosjek, eksponencija, itd. Random () jedna je od metoda među njima koja vraća pozitivnu dvostruku vrijednost unutar raspona 0, 0 i 1, 0 gdje je 0, 0 uključiv i 1.0 je ekskluzivno. Ova se metoda može koristiti sa ili bez korištenja parametara. Ako su navedeni parametri, nasumični generirani broj bit će unutar datog parametra.

Primjer 1

Kodirati:

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

Izlaz:

U gornjem primjeru, slučajni broj generira se pomoću metode Math.random () na dva načina - Izravno je primjenjujući unutar glavne metode i pozivajući metodu koja sadrži Math.random () pomoću objekta. Kao što je spomenuto u gornjem obrazloženju, možemo vidjeti da se generiraju 2 slučajna broja u granicama od 0, 0 i 1, 0.

Za generiranje slučajnih brojeva unutar raspona parametara, u nastavku se spominje opći izraz:

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

Primjer 2

Gdje je najviša vrijednost gornja granica raspona, a min vrijednost je donja granica raspona. Na primjer, da bi se generirao slučajni broj između 10 i 20, postavite najveću vrijednost kao 20, a najmanju vrijednost kao 10.

Kodirati:

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

Izlaz:

2. java.util.Random klasa

Java.util.Random klasa generira slučajne brojeve različitih tipova podataka kao što su float, long, integer, double, Boolean itd. Također je moguće proslijediti raspon brojeva kao argumenata, tako da će se unutar tog raspona generirati slučajni broj, Za upotrebu ove klase mora se uvesti Random klasa java.util (java.util.Random). Nakon što se ova klasa uvozi, stvorite instancu i nazovite metode poput next long (), nextInt () itd. Koristeći tu instancu.

Primjer 1

Kodirati:

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

Izlaz:

U gornjem programu generira se slučajna dvostruka vrijednost pomoću metode nextDouble ().

3. klasa ThreadLocalRandom

ThreadLocalRandom klasa je specijalizirana vrsta klase Random koja se uvodi u verziji Java 1.7. ThreadLocalRandom.current (). NextInt () jedna je od uobičajenih metoda koja se koristi za generiranje slučajnih brojeva. Obično se koristi u višestrukim aplikacijama.

Primjer 1

Kodirati:

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

Izlaz:

Generacija cjelovitih osoba

Nasumični cijeli brojevi mogu se generirati korištenjem klase ThreadLocalRandom i Random Class. U oba slučaja koristi se metoda nextInt () za isto:

Primjer 1

Kodirati:

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

Izlaz:

U gornjem primjeru, generiraju se tri broja slučajnih cijelih brojeva gdje jedan od nextInt () metoda ima 30 kao argument. Dakle, dok generirate slučajni broj, 30 će biti postavljena kao gornja granica, a nula (zadnja donja granica) postavljena je kao donja granica.

Generiranje brojeva s pomičnom točkom

Slično generiranju cijelih brojeva, brojevi s pomičnim zarezom mogu se generirati pomoću metode nextFloat (). Ova se metoda može koristiti i u Random Class i ThreadLocalRandom Class:

Primjer 1

Kodirati:

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

Izlaz:

Zaključak

Java sadrži mnoštvo funkcija koje se mogu koristiti u programima. To pomaže u smanjenju vremena obrade i redaka koda. Generiranje slučajnih brojeva jedan je zadatak u kojem možemo koristiti neke od ovih funkcija. Ovaj dokument pokriva različite metode za postizanje toga.

Preporučeni članci

Ovo je vodič za Generator slučajnih brojeva na Javi. Ovdje razmatramo funkcije u Javi s primjerima i dva različita generatora. Možete i pregledati naše druge povezane članke da biste saznali više -

  1. Generator slučajnih brojeva u Pythonu
  2. Generator slučajnih brojeva u C
  3. Generator slučajnih brojeva u R
  4. Rekurzija u Javi
  5. Generator slučajnih brojeva u Matlabu
  6. Generator slučajnih brojeva u C #
  7. Nizi u Java programiranju
  8. Generator slučajnih brojeva u JavaScript-u
  9. Generator slučajnih brojeva u PHP-u

Kategorija: