Vad är Random Number Generator i Java?

Slumpmässiga nummer används vanligtvis för att skapa applikationer som Dice för ett brädspel, Gambling Program osv. Normalt tar slumpmässigt generering mycket tid. Men på Java-programmeringsspråk kan detta uppnås på tre sätt. De behandlas i nedanstående avsnitt Slumpnummergeneratorfunktioner i Java.

Slumpmässiga nummergeneratorfunktioner i Java

I Java kan slumpmässiga nummer genereras på tre sätt:

  • Math.random-metoden
  • java.util.Random klass
  • ThreadLocalRandom klass

1. Math.random () -metod

Java Math-klassen erbjuder ett antal metoder för att arbeta med beräkningar som logaritmer, genomsnitt, exponentiering etc. slumpmässigt () är en av metoderna bland dem som ger ett positivt dubbelvärde inom intervallet 0, 0 och 1, 0 där 0, 0 är inkluderande och 1.0 är exklusivt. Denna metod kan användas med eller utan att använda parametrar. Om parametrar anges kommer det slumptal som genereras att ligga inom den givna parameterns intervall.

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

Produktion:

I exemplet ovan genereras slumpmässigt nummer med metoden Math.random () på två sätt - Direkt tillämpa den i huvudmetoden och kalla en metod som innehåller Math.random () med hjälp av objektet. Som nämnts i förklaringen ovan kan vi se att 2 slumpmässiga nummer genereras inom intervallet 0, 0 och 1, 0.

För att generera ett slumpmässigt antal inom parametern, nämns det allmänna uttrycket som används nedan:

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

Exempel 2

Där maxvalue är den övre gränsen för intervallet och min-värdet är den nedre gränsen för området. Till exempel, för att generera ett slumpmässigt antal mellan 10 och 20, ställ in maxvärdet som 20 och minvärdet som 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 );
) )

Produktion:

2. java.util.Random Class

Java.util.Random-klass genererar slumpmässiga nummer av olika datatyper som float, long, heltal, dubbel, Boolean, etc. Det är också möjligt att passera antalet intervall som argument så att ett slumpmässigt nummer kommer att genereras inom det intervallet . För att kunna använda den här klassen måste slumpmässigt klass av java.util importeras (java.util.Random). När denna klass har importerats, skapar du en instans och anropar metoderna som nästa long (), nextInt (), etc. med den instansen.

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

Produktion:

I programmet ovan genereras ett slumpmässigt dubbelvärde med metoden nextDouble ().

3. ThreadLocalRandom-klass

ThreadLocalRandom klass är en specialiserad typ av slumpmässig klass som introduceras i Java version 1.7. ThreadLocalRandom.current (). NextInt () är en av de vanliga metoderna som används för att generera slumpmässiga nummer. Det används normalt i flertrådade applikationer.

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

Produktion:

Generation av heltal

Slumpmässiga heltal kan genereras med klassen ThreadLocalRandom och Random Class. I båda fallen används en metod nextInt () för samma:

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

Produktion:

I exemplet ovan genereras tre slumpmässiga heltalstalnummer där en av metoden nextInt () har 30 som argument. Så under generering av ett slumpmässigt nummer kommer 30 att ställas in som den övre gränsen och noll (standard nedre gräns) kommer att ställas in som den nedre gränsen.

Generera float point numbers

I likhet med att generera heltal kan generera flyttalsnummer med hjälp av en metod nextFloat (). Den här metoden kan användas i både Random Class och ThreadLocalRandom Class:

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

Produktion:

Slutsats

Java innehåller en mängd funktioner som kan användas i program. Detta hjälper till att minska behandlingstiden och kodraderna. Slumpmässig generering är en uppgift där vi kan använda några av dessa funktioner. Detta dokument täcker olika metoder för att uppnå detta.

Rekommenderade artiklar

Detta är en guide till Random Number Generator i Java. Här diskuterar vi funktioner i java med exempel och två olika generatorer. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer -

  1. Random Number Generator i Python
  2. Slumptalsgenerator i C
  3. Slumptalsgenerator i R
  4. Rekursion i Java
  5. Slumpmässig nummergenerator i Matlab
  6. Slumptalsgenerator i C #
  7. Arrays i Java-programmering
  8. Random Number Generator i JavaScript
  9. Slumpnummergenerator i PHP

Kategori: