Генерация случайного числа между двумя терминалами в java

Случайные числа используются в различных областях, таких как моделирование для имитации такого явления, как падение тела, или видеоигры, такие как судоку, где сетка должна отличаться от предыдущей игры или ничьей и т. д.

В Java есть два способа генерации случайных чисел: Первый - это класс java.util.Random а второй - random(). В этом руководстве мы увидим, как генерировать случайные целые числа, расположенные в интервале (между двумя границами) в Java.

Метод Math.random() в Java

Метод random() прост в использовании, его можно найти в классе java.lang.Math  и  Возвращает значение типа double с положительным знаком больше 0,0 и меньше 1,0. Сгенерированное число равно единице. double.

double nb; 
nb = Math.random();
System.out.println(nb);
Run:

0.9610715687122661
Чтобы получить числа больше 1, умножьте результат на 10,100,1000...100000.

nb=nb*100; 
96.10715687122661

Класс java.util.Random 

Этот класс более мощный, потому что он предлагает генерацию нескольких псевдослучайных типов: integer, float, double, byte, boolean...

Генерация целых чисел от нуля до n в java

Метод next(int n) генерирует число равномерно от 0 до n-1.

Random = new Random(); 
int nb;
nb = random.nextInt(9);
Конструктор Random создает новый генератор чисел. Выполнение этого кода возвращает цифру от 0 до 8, выбранную генератором.

Сгенерировать целое число между двумя терминалами в java

Нижняя граница будет суммироваться с результатом:
nb = borne_inférieur + random(borne_superieur-borne_inférieur)

int genererInt(int borneInf, int borneSup){
Random random = new Random();
int nb;
nb = borneInf+random.nextInt(borneSup-borneInf);
возврат nb;
}

public static void main(String[] args) {
System.out.println("range[10, 20]: "+generate(10,20));
}

Run:

range[10, 20]:15

Сгенерировать целое число с помощью метода random.nextBytes()

Метод nexBytes(bytes[]) возвращает массив байты случайным образом. Количество бит равно размеру массива, передаваемого в качестве аргумента.

byte[] generate Bit(int size){
Random random = new Random();
byte[] tbyte = новый байт[размер];
random.nextBytes(tbyte);
возвращаем tbyte;
}
public static void main(String[] args) {
byte[] tbyte = generateBit(20);
for(byte bit:tbyte)
System.out.print(" "+bit);
}
Runtime:

-8 16 -7 27 54 -44 -75 88 -91 -74 -124 10 -100 101 -96 -41 -101 71 33 74

Boolean

Boolean имеет два значения: true или false.

boolean genererBool(){
Random random = new Random();
возвращаем random.nextBoolean();
}

Генерация чисел с плавающей запятой и двойной точности в java

Как в random() класса Math, цифра находится в диапазоне от 0.0 до 1.0.

float genererFloat(){
Random random = new Random();
возвращаем random.nextFloat();
}
double genererDouble(){
Random random = new Random();
возвращаем random.nextDouble();
}
public static void main(String[] args) {
System.out.println("float: "+generateDouble());
System.out.println("double: "+generateFloat());
}
Runtime:

double: 0.8538674831662335
float: 0.46791792
В java double хранится на 8 байтах, а float на 4 байтах.

Ссылки:
Javadoc: java.until.Random class
Javadoc: Math.random() method
Генерация случайных целых чисел в диапазон с Java
java.util.Random.nextInt() Method