Mikä on Random Number Generator Java-sovelluksessa?

Satunnaislukuja käytetään yleisesti luomalla sovelluksia, kuten Dice lautapeliin, uhkapeliohjelmaan jne.. Satunnaislukujen luominen vie yleensä paljon aikaa. Mutta Java-ohjelmointikielellä tämä voidaan saavuttaa kolmella tavalla. Niitä käsitellään alla olevassa Javan satunnaislukugeneraattoritoiminnoissa.

Satunnaislukugeneraattorin toiminnot Java-sovelluksessa

Java-sovelluksessa satunnaislukuja voidaan luoda kolmella tavalla:

  • Math.random -menetelmä
  • java.util.Random-luokka
  • ThreadLocalRandom-luokka

1. Math.random () -menetelmä

Java Math -luokka tarjoaa useita menetelmiä laskelmien työskentelemiseen, kuten logaritmit, keskiarvo, eksponentraatio jne. Satunnainen () on yksi niistä menetelmistä, joka palauttaa positiivisen kaksinkertaisen arvon välillä 0, 0–1, 0, missä 0, 0 on kattava ja 1.0 on yksinoikeus. Tätä menetelmää voidaan käyttää parametrien kanssa tai ilman niitä. Jos parametrit annetaan, luotu satunnaisluku on annetun parametrin alueella.

Esimerkki # 1

Koodi:

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

lähtö:

Yllä olevassa esimerkissä satunnaisluku luodaan käyttämällä Math.random () -menetelmää kahdella tavalla - Sovelletaan se suoraan päämenetelmän sisään ja kutsutaan menetelmää, joka sisältää Math.random () -objektin objektin avulla. Kuten yllä olevassa selityksessä mainittiin, voimme nähdä, että 2 satunnaislukua muodostetaan välillä 0, 0 ja 1, 0.

Satunnaisluvun generoimiseksi parametrien alueella käytetään seuraavaa yleistä lauseketta:

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

Esimerkki 2

Missä maksimiarvo on alueen yläraja ja min-arvo on alueen alaraja. Esimerkiksi, jotta saadaan satunnaisluku välillä 10 - 20, aseta enimmäisarvoksi 20 ja minimiarvoksi 10.

Koodi:

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

lähtö:

2. java.util.Random-luokka

Java.util.Random-luokka tuottaa satunnaislukuja erityyppisiä tietotyyppejä, kuten kelluva, pitkä, kokonaisluku, kaksinkertainen, Boolean jne. On myös mahdollista siirtää lukualue argumentteina, jotta satunnaisluku syntyy tällä alueella . Jotta tätä luokkaa voidaan käyttää, java.utilin Random-luokka on tuotava (java.util.Random). Kun tämä luokka on tuotu, luo ilmentymä ja soita menetelmille, kuten seuraava pitkä (), nextInt () jne., Käyttämällä kyseistä ilmentymää.

Esimerkki # 1

Koodi:

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

lähtö:

Yllä olevassa ohjelmassa luodaan satunnainen kaksinkertainen arvo menetelmällä nextDouble ().

3. ThreadLocalRandom-luokka

ThreadLocalRandom-luokka on erikoistunut Random-luokan tyyppi, joka otetaan käyttöön Java-versiossa 1.7. ThreadLocalRandom.current (). NextInt () on yksi yleisimmistä menetelmistä, joita käytetään satunnaislukujen luomiseen. Sitä käytetään yleensä monisäikeisissä sovelluksissa.

Esimerkki # 1

Koodi:

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

lähtö:

Kokonaislukujen sukupolvi

Satunnaisia ​​kokonaislukuja voidaan tuottaa käyttämällä ThreadLocalRandom-luokkaa ja Random-luokkaa. Molemmissa tapauksissa samaan käytetään menetelmää nextInt ():

Esimerkki # 1

Koodi:

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

lähtö:

Yllä olevassa esimerkissä luodaan kolme satunnaista kokonaislukutyyppinumeroa, joissa yhdellä NextInt () -menetelmästä on 30 argumentti. Joten, kun generoidaan satunnaisluku, 30 asetetaan ylärajaksi ja nolla (oletus alaraja) asetetaan alarajaksi.

Liukulukupisteiden luominen

Samoin kuin kokonaislukujen generointi, liukulukujen numerot voidaan tuottaa menetelmällä nextFloat (). Tätä menetelmää voidaan käyttää sekä satunnaisessa luokassa että ThreadLocalRandom-luokassa:

Esimerkki # 1

Koodi:

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

lähtö:

johtopäätös

Java sisältää lukuisia toimintoja, joita voidaan käyttää ohjelmissa. Tämä auttaa vähentämään käsittelyaikaa ja koodiriviä. Satunnaislukujen luominen on yksi tehtävä, jossa voimme käyttää joitain näistä toiminnoista. Tämä asiakirja kattaa eri menetelmät tämän saavuttamiseksi.

Suositellut artikkelit

Tämä on opas Java-sovelluksen Random Number Generator -sovellukseen. Tässä keskustellaan java-toiminnoista esimerkkien ja kahden eri generaattorin kanssa. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja -

  1. Satunnaislukugeneraattori Pythonissa
  2. Satunnaislukugeneraattori C: ssä
  3. Satunnaislukugeneraattori R: ssä
  4. Rekursio Java-ohjelmassa
  5. Satunnaislukugeneraattori Matlabissa
  6. Satunnaislukugeneraattori C: ssä
  7. Ryhmät Java-ohjelmoinnissa
  8. Satunnaislukugeneraattori JavaScript
  9. Satunnaislukugeneraattori PHP: ssä