Генератор випадкових чисел на Java - Генератор функцій на Java

Зміст:

Anonim

Що таке генератор випадкових чисел на Java?

Випадкові номери зазвичай використовуються для створення таких додатків, як кістки для настільних ігор, азартних програм тощо. Зазвичай генерація випадкових чисел займає багато часу. Але в мові програмування Java цього можна досягти, використовуючи три способи. Вони розглядаються нижче в розділі Функції генератора випадкових чисел на Java.

Функції генератора випадкових чисел на Java

У Java випадкові номери можна генерувати, використовуючи 3 способи:

  • Math. випадковий метод
  • java.util.Random class
  • Клас ThreadLocalRandom

1. Метод Math.random ()

Клас Java Math пропонує ряд методів для роботи над обчисленнями, такі як логарифми, середнє значення, експоненція тощо. Random () - один із методів серед них, який повертає додатне подвійне значення в межах 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);
)
)

Вихід:

У наведеному вище прикладі випадкове число генерується за допомогою методу Math.random () двома способами - безпосередньо його застосування всередині основного методу та виклик методу, який містить Math.random () за допомогою об'єкта. Як було сказано в поясненні вище, ми можемо бачити, що 2 випадкових числа генеруються в межах 0, 0 та 1, 0.

Для генерації випадкового числа в діапазоні параметрів нижче використовується загальне вираження:

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

Приклад №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. java.util.Random Class

Клас Java.util.Random генерує випадкові числа різних типів даних, таких як float, long, integer, double, Boolean тощо. Також можливо передавати діапазон чисел як аргументи, щоб у цьому діапазоні генерувалося випадкове число . Для використання цього класу необхідно імпортувати клас Random java.util (java.util.Random). Після імпорту цього класу створіть екземпляр і зателефонуйте на такі методи, як next long (), nextInt () тощо, використовуючи цей екземпляр.

Приклад №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);
)
)

Вихід:

У вищевказаній програмі генерується випадкове подвійне значення за допомогою методу nextDouble ().

3. Клас ThreadLocalRandom

Клас ThreadLocalRandom - це спеціалізований тип класу Random, який вводиться у версії Java 1.7. ThreadLocalRandom.current (). NextInt () - один із поширених методів, який використовується для генерації випадкових чисел. Зазвичай використовується в багатопотокових програмах.

Приклад №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());
)
)

Вихід:

Покоління цілих чисел

Випадкові цілі числа можуть бути згенеровані за допомогою класу ThreadLocalRandom та Random Class. В обох випадках метод nextInt () використовується для того ж:

Приклад №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);
)
)

Вихід:

У наведеному вище прикладі створюються три числа випадкових цілих чисел, де один із методів nextInt () містить 30 в якості аргументу. Отже, при генерації випадкового числа 30 буде встановлено як верхня межа, а нуль (нижня межа за замовчуванням) буде встановлено як нижня межа.

Генерування чисел з плаваючою точкою

Подібно до генерації цілих чисел, номери з плаваючою комою можуть бути створені за допомогою методу nextFloat (). Цей метод може бути використаний як у класах випадкових, так і в класах ThreadLocalRandom:

Приклад №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);
)
)

Вихід:

Висновок

Java містить безліч функцій, які можна використовувати в програмах. Це допомагає скоротити час обробки та рядки коду. Генерація випадкових чисел - одне завдання, де ми можемо використовувати деякі з цих функцій. Цей документ охоплює різні методи досягнення цього.

Рекомендовані статті

Це посібник з генератора випадкових чисел на Java. Тут ми обговорюємо функції в java з прикладами та двома різними генераторами. Ви також можете ознайомитись з іншими нашими пов’язаними статтями, щоб дізнатися більше -

  1. Генератор випадкових чисел у Python
  2. Генератор випадкових чисел у С
  3. Генератор випадкових чисел в R
  4. Рекурсія на Java
  5. Генератор випадкових чисел у Matlab
  6. Генератор випадкових чисел у C #
  7. Масиви в програмуванні Java
  8. Генератор випадкових чисел у JavaScript
  9. Генератор випадкових чисел у PHP