English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java управление потоком

Java массив

Java面向对象(I)

Java面向对象(II)

Java面向对象(III)

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

Java список (List)

Java Queue (очередь)

Java Map набор

Java Set набор

Java ввод/вывод (I/O)

Java Reader/Writer

Другие темы Java

Java программа генерации случайных строк из символов и цифр

Java полная коллекция примеров

В данном примере мы будем изучать, как генерировать случайные строки и случайные строки из символов и цифр на Java.

Пример 1: Программа на Java для генерации случайной строки

import java.util.Random;
class Main {
  public static void main(String[] args) {
    //Создать строку, содержащую все символы A-Z
    String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    //创建随机字符串生成器
    StringBuilder sb = new StringBuilder();
    //Создать объект класса Random
    Random random = new Random();
    //指定随机字符串的长度
    int length = 7;
    for(int i = 0; i < length; i++) {
      // Создать случайный индекс
      int index = random.nextInt(alphabet.length());
      //Получить символ по индексу index
      //Из строки
      char randomChar = alphabet.charAt(index);
      //Добавить символ к генератору строки
      sb.append(randomChar);
    }
    String randomString = sb.toString();
    System.out.println("случайная строка: " + randomString);
  }
}

результат вывода

Случайная строка: IIYOBRK

В примере выше мы сначала создали строку, содержащую все буквы. Затем мы использовали метод nextInt() класса Random для создания случайного индекса.

Используя случайный индекс, мы вывели случайные символы из строки алфавита. Затем мы использовали класс StringBuilder для соединения всех символов.

Если нужно изменить случайную строку на строчную, можно использовать метод toLowerCase() класса String.

randomString.toLowerCase()

Внимание:Каждый раз при запуске программы вывод будет отличаться.

Пример 2: Программа на Java для генерации случайной строки из символов

import java.util.Random;
class Main {
  public static void main(String[] args) {
    //创建一个由大写和小写字母和数字组成的字符串
    String upperAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    String lowerAlphabet = "abcdefghijklmnopqrstuvwxyz";
    String numbers = "0123456789";
    //合并所有字符串
    String alphaNumeric = upperAlphabet + lowerAlphabet + numbers;
    //创建随机字符串生成器
    StringBuilder sb = new StringBuilder();
    //创建一个Random类的对象
    Random random = new Random();
    //指定随机字符串的长度
    int length = 10;
    for(int i = 0; i < length; i++) {
      // Создать случайный индекс
      int index = random.nextInt(alphaNumeric.length());
      // Получить символ по индексу index из строки
      char randomChar = alphaNumeric.charAt(index);
      // Добавить символ в генератор строки
      sb.append(randomChar);
    }
    String randomString = sb.toString();
    System.out.println("случайная строка: " + randomString);
  }
}

результат вывода

случайная строка: pxg1Uzz9Ju

здесь, мы создали строку, которая содержит изот 0 до 9цифры и заглавные и строчные буквы.

из строки, мы случайным образом сгенерировали строку длиной10буквенно-цифровой строки.

Java полная коллекция примеров