Как сгенерировать случайные символы в Java
Генерации случайных символов в Java не существует, но есть несколько способов сделать это. Это сгенерировать случайное число используя java.util.Random.nextInt(), а затем преобразовать целое число в символ в соответствии с его кодом ASCII.Сгенерировать символ между a-z
Код ASCII первого буквенного символа в нижнем регистре равен 65 ( a) и последний 97+26=122 (z). Сгенерированное число находится в диапазоне [97, 122] или в диапазоне [0,26] + 97.Random rand = new Random();Мы можем заменить ASCII-код 97 на 'a':
char c = (char)(rand.nextInt(26) + 97);
System.out.println(c);
(char)(rand.nextInt(26) + 'a');
Сгенерировать строку
Чтобы получить n символов, приведенный выше код должен быть заключен в for.
Random rand = new Random();
String str="";
for(int i = 0 ; i < 20 ; i++){
char c = (char)(rand.nextInt(26) + 97);
str += c;
System.out.print(c+" ");
}
f s e u k t m d a e b i m u y a y u s n
Generate alphanumeric from a set
В этом примере Мы сгенерируем буквенно-цифровые символы из набора определенных символов. Давайте сделаем так:
- Создайте строку с нужным набором
- Получить длину строки
- Call rand.nextInt который возвращает позицию k от 0 до length-1
- alphabet.charAt(k) - случайность алфавита
Random rand = new Random();
Строка alphabet="abcd1235";
int длина = alphabet.lentgh();
for(int i = 0; i < 30; i++) {
int k = rand.nextInt(length);
System.out.print(alphabet.charAt(k)+" ");
}
b 1 3 1 d b b b 2 5 5 b a c 5 1 2 b 5 2 c b a 3 3 5 3 d b c 1