Шта је генератор случајних бројева на Јави?

Насумични бројеви се обично користе у креирању апликација као што су коцкице за игре на плочи, програм за коцкање итд. Обично генерирање случајних бројева траје много времена. Али, у програмском језику Јава то се може постићи на три начина. Они су обрађени у доњем одељку Функције генератора случајних бројева на Јави.

Функције генератора случајних бројева на Јави

У Јави се могу произвести случајни бројеви на 3 начина:

  • Матх.рандом метод
  • јава.утил.Рандом класа
  • ТхреадЛоцалРандом класа

1. Метода математичке случајности ()

Јава Матх класа нуди бројне методе за рад на прорачунима као што су логаритми, просек, експоненција, итд. Рандом () је једна од метода међу њима која враћа позитивну двоструку вредност у опсегу 0, 0 и 1, 0 где је 0, 0 укључен и 1.0 је ексклузивно. Ова метода се може користити са или без употребе параметара. Ако се дају параметри, генерирани случајни број ће бити унутар датог параметра.

Пример # 1

Шифра:

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

Излаз:

У горњем примјеру, случајни број генерира се помоћу методе Матх.рандом () на два начина - Директно примјењујући је унутар главне методе и позивајући методу која садржи Матх.рандом () помоћу објекта. Као што је споменуто у горњем образложењу, можемо видети да се генеришу 2 случајна броја у границама од 0, 0 и 1, 0.

Да бисте генерисали случајни број у опсегу параметара, испод се спомиње општи израз:

Матх.рандом () * ((маквалуе - минвалуе) +1) + минвалуе

Пример бр. 2

Где је највећа вредност горња граница распона, а мин вредност је доња граница распона. На пример, да бисте генерисали случајни број између 10 и 20, поставите маквалуе као 20, а минимално вредност 10.

Шифра:

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

Излаз:

2. јава.утил.Рандом класа

Јава.утил.Рандом класа генерише случајне бројеве различитих типова података као што су флоат, лонг, интегер, доубле, Боолеан итд. Такође је могуће проследити распон бројева као аргументе тако да ће се у том распону генерисати случајни број . Да бисте користили ову класу, мора се увести Рандом класа јава.утил (јава.утил.Рандом). Једном када се ова класа увози, направите инстанцу и назовите методе попут нект лонг (), нектИнт () итд. Користећи ту инстанцу.

Пример # 1

Шифра:

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

Излаз:

У горњем програму се генерира случајна двострука вриједност помоћу методе нектДоубле ().

3. Класа ТхреадЛоцалРандом

ТхреадЛоцалРандом класа је специјализовани тип Рандом класе који је представљен у верзији Јава 1.7. ТхреадЛоцалРандом.цуррент (). НектИнт () је једна од најчешћих метода која се користи за генерисање случајних бројева. Обично се користи у вишенаменским апликацијама.

Пример # 1

Шифра:

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

Излаз:

Генерација целих бројева

Насумични цели бројеви могу се генерисати коришћењем класе ТхреадЛоцалРандом и Рандом Цласс. У оба случаја користи се метода нектИнт () за исти:

Пример # 1

Шифра:

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

Излаз:

У горњем примјеру се генеришу три броја случајних бројева цијелог броја гдје један од нектИнт () метода има 30 као аргумент. Дакле, док генерише случајни број, 30 ће бити постављено као горња граница, а нула (задња доња граница) ће бити постављена као доња граница.

Генерисање бројева са зарезом

Слично генерирању целих бројева, бројеви с помичним зарезом могу се генерисати методом нектФлоат (). Ова метода се може користити и у Рандом Цласс и ТхреадЛоцалРандом Цласс:

Пример # 1

Шифра:

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

Излаз:

Закључак

Јава садржи мноштво функција које се могу користити у програмима. Ово помаже у смањењу времена обраде и линија кода. Генерирање случајних бројева један је задатак у којем можемо користити неке од ових функција. Овај документ покрива различите методе да се то постигне.

Препоручени чланци

Ово је водич за Генератор случајних бројева на Јави. Овде смо расправљали о функцијама у Јави са примерима и два различита генератора. Можете и да прођете кроз остале сродне чланке да бисте сазнали више -

  1. Генератор случајних бројева у Питхон-у
  2. Генератор случајних бројева на Ц
  3. Генератор случајних бројева у Р
  4. Рекурзија у Јави
  5. Генератор случајних бројева у Матлабу
  6. Генератор случајних бројева у Ц #
  7. Низи у Јава програмирању
  8. Генератор случајних бројева у ЈаваСцрипт-у
  9. Генератор случајних бројева у ПХП-у

Категорија: