Генерация случайной строки в Java — программа с Random и char
В этой программе мы научимся генерировать случайные строки заданной длины.
Пример 1: генерация случайной строки
import java.util.Random;
class Main {
public static void main(String[] args) {
// create a string of all characters
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// create random string builder
StringBuilder sb = new StringBuilder();
// create an object of Random class
Random random = new Random();
// specify length of random string
int length = 7;
for(int i = 0; i < length; i++) {
// generate random index number
int index = random.nextInt(alphabet.length());
// get character specified by index
// from the string
char randomChar = alphabet.charAt(index);
// append the character to string builder
sb.append(randomChar);
}
String randomString = sb.toString();
System.out.println("Random String is: " + randomString);
}
}
Вывод:
Random String is: IIYOBRK
В примере выше мы сначала создали строку со всеми буквами алфавита. Затем сгенерировали случайный индекс с помощью метода nextInt() класса Random.
По случайному индексу мы получаем случайный символ из строки alphabet. Затем используем класс StringBuilder, чтобы соединить все символы вместе.
Если нужно перевести случайную строку в нижний регистр, можно использовать метод toLowerCase() класса String:
randomString.toLowerCase()
Примечание
Каждый раз при запуске программы вывод будет разным.
Пример 2: генерация случайной буквенно-цифровой строки
import java.util.Random;
class Main {
public static void main(String[] args) {
// create a string of uppercase and lowercase characters and numbers
String upperAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String lowerAlphabet = "abcdefghijklmnopqrstuvwxyz";
String numbers = "0123456789";
// combine all strings
String alphaNumeric = upperAlphabet + lowerAlphabet + numbers;
// create random string builder
StringBuilder sb = new StringBuilder();
// create an object of Random class
Random random = new Random();
// specify length of random string
int length = 10;
for(int i = 0; i < length; i++) {
// generate random index number
int index = random.nextInt(alphaNumeric.length());
// get character specified by index
// from the string
char randomChar = alphaNumeric.charAt(index);
// append the character to string builder
sb.append(randomChar);
}
String randomString = sb.toString();
System.out.println("Random String is: " + randomString);
}
}
Вывод:
Random Alphanumeric String is: pxg1Uzz9Ju
Здесь мы создали строку, которая содержит цифры от 0 до 9 и буквы алфавита в верхнем и нижнем регистре.
Из этой строки мы сгенерировали случайную буквенно-цифровую строку длиной 10 символов.