Эта статья познакомит вас с генератором случайных чисел и строк в 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.

1. Объектно-ориентированное программирование

2. Наследование в Java

3. Полиморфизм в Java

4. Абстракция в Java

5. Строка Java

6. Массив Java

7. Коллекции Java

8. Java-потоки

9. Введение в сервлеты Java

10. Учебник по сервлетам и JSP

11. Обработка исключений в Java

12. Учебник по Java

13. Вопросы для собеседования по Java

14. Java-программы

15. Котлин против Java

16. Внедрение зависимостей с использованием Spring Boot

17. Сопоставимо в Java

18. 10 лучших фреймворков Java

19. Java Reflection API

20. 30 лучших шаблонов в Java

21. Основная шпаргалка по Java

22. Программирование сокетов на Java

23. Шпаргалка по ООП по Java

24. Аннотации в Java

25. Проект системы управления библиотекой на Java

26. Деревья в Java

27. Машинное обучение в Java

28. Основные структуры данных и алгоритмы в Java

29. Навыки Java-разработчика

30. 55 самых популярных вопросов на собеседовании по сервлетам

31. Лучшие Java-проекты

32. Шпаргалка по строкам Java

33. Вложенный класс в Java

34. Вопросы и ответы на собеседование по Java Collections

35. Как справиться с взаимоблокировкой в ​​Java?

36. 50 главных вопросов на собеседовании по коллекциям Java, которые вам нужно знать

37. Какова концепция пула строк в Java?

38. В чем разница между C, C++ и Java?

39. Палиндром в Java — Как проверить число или строку?

40. Главные вопросы и ответы на собеседованиях по MVC, которые вам нужно знать

41. 10 лучших приложений языка программирования Java

42. Тупик в Java

43. Квадратный корень в Java

44. Приведение типов в Java

45. Операторы в Java и их типы

46. Деструктор в Java

47. Двоичный поиск в Java

48. Архитектура MVC в Java

49. Вопросы и ответы на собеседовании в Hibernate

Первоначально опубликовано на https://www.edureka.co 19 августа 2019 г.