Эта статья познакомит вас с генератором случайных чисел и строк в Java, а затем продемонстрирует его программную демонстрацию. Следующие указатели будут рассмотрены в этой статье,
- Java.util. Случайный
- Math.random()
- Класс Java.util.concurrent.ThreadLocalRandom
- Генерация случайной строки в Java
- Использование Math.random()
- Использование набора символов
- Использование регулярных выражений
В Java есть три метода генерации случайных чисел с использованием встроенных методов и классов.
- Класс Java.util.Random
- Мат. случайный метод
- Класс ThreadLocalRandom
Итак, давайте начнем статью о генераторе случайных чисел и строк в Java,
Java.util. Случайный
Прежде всего, нам нужно создать экземпляр этого класса в программе, а затем вызывать различные встроенные методы, такие как nextInt(), nextDouble() и т. д., используя созданный нами экземпляр.
Случайные числа целых чисел , float, double, long, boolean могут быть созданы с помощью этого класса.
Аргументы могут быть переданы в методы для определения верхней границы, до которой должно генерироваться число. Например, nextInt(4) будет генерировать числа в диапазоне от 0 до 3 (оба включительно).
Пример 1:
// A Java program to demonstrate working of // Math.random() to generate random numbers import java.util.*; public class Main { public static void main(String args[]) { // Generating random value of data type double System.out.println("Random value: " + Math.random()); } }
Вывод:
Пример:
// A Java program to demonstrate working of // Math.random() to generate random numbers import java.util.*; public class Main { public static void main(String args[]) { // Generating random value of data type double System.out.println("Another Random value: " + Math.random()); } }
Вывод:
Перейдем к этой статье о генераторе случайных чисел и строк в java.
Math.random()
Класс Math содержит различные методы для выполнения ряда различных числовых операций, включая логарифмирование, решение возведения в степень и т. д. Среди этих операций есть random(), который используется для генерации случайных чисел типа double в диапазоне от 0,0 до 1,0. . Этот метод возвращает двойное значение, которое либо больше или равно 0,0, либо меньше или равно 1,0 вместе со знаком плюс. Значения, возвращаемые функцией random(), выбираются машиной случайным образом.
Пример 1:
// A Java program to demonstrate working of ThreadLocalRandom // for generating random numbers. import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String args[]) { // Generating random integers in range 0 to 99 int int2 = ThreadLocalRandom.current().nextInt(); // Printing random integer System.out.println("Random Integers: " + int2); // Generating Random doubles double dub1 = ThreadLocalRandom.current().nextDouble(); double dub2 = ThreadLocalRandom.current().nextDouble(); // Printing random doubles System.out.println("Random Doubles: " + dub1); System.out.println("Random Doubles: " + dub2); } }
Вывод:
Пример 2:
// Java program to demonstrate working of ThreadLocalRandom // to generate random numbers. import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String args[]) { // Generating random booleans boolean bool1 = ThreadLocalRandom.current().nextBoolean(); boolean bool2 = ThreadLocalRandom.current().nextBoolean(); // Print random Booleans System.out.println("Random Booleans: " + bool1); System.out.println("Random Booleans: " + bool2); } }
Вывод:
Пример 2:
// Java program to demonstrate working of ThreadLocalRandom // to generate random numbers. import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String args[]) { // Generating random booleans boolean bool1 = ThreadLocalRandom.current().nextBoolean(); boolean bool2 = ThreadLocalRandom.current().nextBoolean(); // Print random Booleans System.out.println("Random Booleans: " + bool1); System.out.println("Random Booleans: " + bool2); } }
Вывод:
Перейдем к этой статье о генераторе случайных чисел и строк в java.
Генерация случайной строки в Java
Мы можем сгенерировать случайную буквенно-цифровую строку, используя следующие методы:
Перейдем к этой статье о генераторе случайных чисел и строк в java.
Использование Math.random()
Ниже приведен пример, чтобы лучше понять концепцию.
// A Java program generating a random AlphaNumeric String // using Math.random() method public class Main { // define a function to generate a random string of length n static String RequiredString(int n) { // chose a Character random from this String String AlphaNumericString = “ABCDEFGHIJKLMNOPQRSTUVWXYZ” + “0123456789” + “abcdefghijklmnopqrstuvxyz”; // create StringBuffer size of AlphaNumericString StringBuilder s = new StringBuilder(n); int y; for ( y = 0; y < n; y++) { // generating a random number int index = (int)(AlphaNumericString.length() * Math.random()); // add Character one by one in end of s s.append(AlphaNumericString .charAt(index)); } return s.toString(); } public static void main(String[] args) { // Get the size n int n = 20; // Get and display the alphanumeric string System.out.println(Main.RequiredString(n)); } }
Вывод:
Перейдем к этой статье о генераторе случайных чисел и строк в java.
Использование набора символов
Здесь мы должны использовать другой пакет, то есть java. Пакет nio.charset.
Ниже приведен иллюстрированный пример.
// A Java program generate a random AlphaNumeric String // using CharSet import java.util.*; import java.nio.charset.*; class Main { static String RequiredString(int n) { // length declaration byte[] array = new byte[256]; new Random().nextBytes(array); String randomString = new String(array, Charset.forName("UTF-8")); // Creating a StringBuffer StringBuffer ra = new StringBuffer(); // Appending first 20 alphanumeric characters for (int i = 0; i < randomString.length(); i++) { char ch = randomString.charAt(i); if (((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9')) && (n > 0)) { ra.append(ch); n--; } } // returning the resultant string return ra.toString(); } public static void main(String[] args) { // size of random alphanumeric string int n = 10; // Get and display the alphanumeric string System.out.println(RequiredString(n)); } }
Вывод:
Перейдем к этой статье о генераторе случайных чисел и строк в java.
Использование регулярных выражений
Реализация приведена в следующем примере.
// A Java program generate a random AlphaNumeric String // using Regular Expressions method import java.util.*; import java.nio.charset.*; class Main { static String getAlphaNumericString(int n) { // length declaration byte[] array = new byte[256]; new Random().nextBytes(array); String randomString = new String(array, Charset.forName("UTF-8")); // Creating a StringBuffer StringBuffer ra = new StringBuffer(); // remove all spacial char String AlphaNumericString = randomString .replaceAll("[^A-Za-z0-9]", ""); // Append first 20 alphanumeric characters // from the generated random String into the result for (int k = 0; k < AlphaNumericString.length(); k++) { if (Character.isLetter(AlphaNumericString.charAt(k)) && (n > 0) || Character.isDigit(AlphaNumericString.charAt(k)) && (n > 0)) { ra.append(AlphaNumericString.charAt(k)); n--; } } // returning the resultant string return ra.toString(); } public static void main(String[] args) { // size of random alphanumeric string int n = 15; // Get and display the alphanumeric string System.out.println(getAlphaNumericString(n)); } }
Вывод:
Таким образом, мы подошли к концу этой статьи. Если вы хотите узнать больше, ознакомьтесь с курсом Java Training от Edureka, надежной компании по онлайн-обучению. Курс обучения и сертификации Edureka по Java J2EE и SOA предназначен для обучения как основным, так и продвинутым концепциям Java, а также различным платформам Java, таким как Hibernate и Spring.
Если вы хотите прочитать больше статей о самых популярных на рынке технологиях, таких как искусственный интеллект, DevOps, этический взлом, вы можете обратиться к официальному сайту Edureka.
Обратите внимание на другие статьи из этой серии, в которых объясняются другие различные аспекты Java.
5. Строка Java
6. Массив Java
8. Java-потоки
12. Учебник по Java
14. Java-программы
24. Аннотации в Java
26. Деревья в Java
30. 55 самых популярных вопросов на собеседовании по сервлетам
36. 50 главных вопросов на собеседовании по коллекциям Java, которые вам нужно знать
40. Главные вопросы и ответы на собеседованиях по MVC, которые вам нужно знать
42. Тупик в Java
Первоначально опубликовано на https://www.edureka.co 19 августа 2019 г.