Какво е клас java.util.Random в Java?
Класът java.util.Random се използва за генериране на псевдослучайни числа. Методите, реализирани от този клас, се използват за генериране на различни произволни типове данни като int, double и float. Така че има два основни вида случайни числа, статистически случайни и псевдослучайни числа . Статистически произволните числа (като обикновените произволни числа в математиката) са набор от стойности, които нямат разпознаваем модел. Например, хвърлянето на зар 10 пъти ще генерира произволно число всеки път, което няма ниHowъв разпознаваем модел.Какво представляват псевдослучайните числа?
Това е набор от стойности, които са статистически случайни, но имат известна начална точка . В Java всяко псевдослучайно число се произвежда чрез алгоритъм. Така че обикновено един цикъл се повтаря всеки път, когато java.util.Random генерира произволно число. Генератор на произволни числа в Java ще произвежда статистически произволни числа, но с известна начална точка, генерирани от алгоритъм. Това прави тези стойности псевдослучайни.Криптографски несигурен ли е класът java.util.Random?
Той е криптографски несигурен, защото има внедрени алгоритми за генериране на произволни числа. В резултат на което човек, който знае How работи алгоритъмът, няма да отнеме много време за достъп до вашите чувствителни данни. Така че, ако работите с някои applications за сигурност, необходими за защита на някои чувствителни данни or трябва да генерирате произволни пароли, тогава е по-добре да избягвате използването на този клас. Полезно е в много случаи като генериране на произволно число за вашето хвърляне на зарове в лудо, хазарт, пequalsе на хвърляне за мач or други области, където желаният от вас резултат е непредвидим.Декларация на метода
За да използвате методите на този клас, първо трябва да го импортирате от пакета as
import java.util.Random;
След импортирането трябва да създадете обект от този клас като
Random randomNumbers = new Random();
Продължавайки по-нататък, нека да разгледаме различни примери за използване на класа java.util.Random .
Пример
import java.util.Random;
public class RandomClassExample1 {
public static void main(String[] args) {
// create random object
Random randomNumbers = new Random();
System.out.println("----------Random Boolean---------" );
/*
* Returns the next pseudo random boolean value which
* may be used in a toss for a match
*/
boolean value = randomNumbers.nextBoolean();
System.out.println("The random boolean value is: " + value);
/*
* Returns the next pseudo random integer value between 0 and 5
* because if we use '6' then, it will give random numbers from 0 to 6
* hence incrementing it by 1 you can use it as a result of a dice roll
*/
System.out.println("\n----------Random Integer---------" );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
System.out.println("Die Roll: " + (randomNumbers.nextInt(6)+1) );
// return the next pseudo random long value
Long val = randomNumbers.nextLong();
System.out.println("\n----------Random Long---------" );
System.out.println("Random Long value: " + val);
/*
* Generates random bytes and puts them in an array, which you can for some
* desired unpredictable result that is summing all the values in the array
*/
System.out.println("\n----------Random Bytes---------" );
byte[] bytes = new byte[8];
randomNumbers.nextBytes(bytes);
System.out.print("These are the random bytes = [ ");
for (int i = 0; i < bytes.length; i++) {
System.out.printf("%d ", bytes[i]);
}
System.out.println("]");
}
}
Изход
Методи
Сега ще обсъдим някои от методите, предоставени от този клас, като имаме предвид, че randomNumbers е обектът or екземплярът на нашия клас.-
удвоява () :
Този метод връща безкрайна поредица от псевдослучайно генерирани двойни стойности. Сега нека видим How да използваме този метод.
randomNumbers.doubles();
-
ints() :
Този метод връща безкрайна поредица от псевдослучайно генерирани цели числа. Можете да използвате следния скрипт, за да извикате този метод.
randomNumbers.ints();
-
longs() :
Този метод връща безкрайна поредица от псевдослучайно генерирани дълги стойности. Следният скрипт се използва за извикване на този метод.
randomNumbers.longs();
-
nextBoolean() :
Този метод връща следващата равномерно разпределена псевдослучайна булева стойност от последователността на генератора на произволни числа. Равномерното разпределение е с правоъгълна форма, което означава, че всяка стойност в разпределението има еднаква вероятност. Ето How да използвате този метод.
randomNumbers.nextBoolean();
-
nextInt(int n) :
Този метод връща следващата равномерно разпределена псевдослучайна целочислена стойност от последователността на генератора на случайни числа между 0 включително и предоставената изключителна стойност. Разгледайте бързо How да използвате този метод.
randomNumbers.nextInt(10);
GO TO FULL VERSION