Генерация случайного числа между двумя терминалами в java
Случайные числа используются в различных областях, таких как моделирование для имитации такого явления, как падение тела, или видеоигры, такие как судоку, где сетка должна отличаться от предыдущей игры или ничьей и т. д.В Java есть два способа генерации случайных чисел: Первый - это класс java.util.Random а второй - random(). В этом руководстве мы увидим, как генерировать случайные целые числа, расположенные в интервале (между двумя границами) в Java.
Метод Math.random() в Java
Метод random() прост в использовании, его можно найти в классе java.lang.Math и Возвращает значение типа double с положительным знаком больше 0,0 и меньше 1,0. Сгенерированное число равно единице. double.double nb;Run:
nb = Math.random();
System.out.println(nb);
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();Конструктор Random создает новый генератор чисел. Выполнение этого кода возвращает цифру от 0 до 8, выбранную генератором.
int nb;
nb = random.nextInt(9);
Сгенерировать целое число между двумя терминалами в 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){Runtime:
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);
}
-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(){Runtime:
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());
}
double: 0.8538674831662335В java double хранится на 8 байтах, а float на 4 байтах.
float: 0.46791792
Ссылки:
Javadoc: java.until.Random class
Javadoc: Math.random() method
Генерация случайных целых чисел в диапазон с Java
java.util.Random.nextInt() Method