Java напишите программу которая генерирует и отображает случайную строчную латинскую букву

Обновлено: 05.07.2024

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

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

Ниже приведены различные способы генерации произвольной буквенно-цифровой строки заданного размера:

    Способ 1: использование Math.random ()

Здесь функция getAlphaNumericString (n) генерирует случайное число длины строки. Этот номер является индексом символа, и этот символ добавляется во временную локальную переменную sb. В конце концов, sb возвращается.

// Java-программа генерирует случайную буквенно-цифровую строку
// используя метод Math.random ()

// Создать StringBuffer для сохранения результата

StringBuffer r = new StringBuffer(n);

// принимаем случайное значение от 97 до 122

int nextRandomChar = lowerLimit

// добавить символ в конце bs

r.append(( char )nextRandomChar);

// возвращаем результирующую строку

public static void main(String[] args)

// размер случайной буквенно-цифровой строки

// Получить и отобразить буквенно-цифровую строку

Как сгенерировать случайную строку в Java

У меня есть объект под названием Student и имеет studentName , studentId , studentAddress и т. д. Для studentId Я должен генерировать случайные строки, состоящие из семи числовых символов, например.

И я должен убедиться, что нет дубликатов идентификаторов.

Теперь для уникальности вам нужно где-то хранить сгенерированные строки. Как вы это сделаете, будет зависеть от остальной части вашего приложения.

Если вам нужна уникальность (с высокой вероятностью), рассмотрите возможность использования хэшей MD5 или SHA.

Вы также можете использовать класс UUID из пакета java.util, который возвращает случайный uuid из 32-битных символов String.

Я думаю, что следующий код класса поможет вам. Он поддерживает многопоточность, но вы можете сделать некоторые улучшения, такие как удаление блока синхронизации и синхронизация с методом getRandomId().

Вы знаете, как генерировать случайным образом целое число правильно? Таким образом, вы можете сгенерировать символ из него. (ex 65 -> A)

Это зависит от того, что вам нужно, от уровня случайности, от уровня безопасности. но для школьного проекта я думаю, что подстрока UUID подойдет:)

Первый вопрос, который вам нужно задать, заключается в том, нужен ли вам действительно случайный идентификатор. Иногда последовательные идентификаторы достаточно хороши.

Русские Блоги

Способы случайной генерации строк в java (три)

// Создание 5-значной случайной строки, которая искажена в китайской среде
RandomStringUtils.random(5);

// Используйте указанные символы для генерации случайной строки длиной 5 бит
RandomStringUtils.random(5, new char[] );

// Создание случайной комбинации букв и цифр указанной длины
RandomStringUtils.randomAlphanumeric(5);

// Генерируем строку случайных чисел
RandomStringUtils.randomNumeric(5);

// Генерация случайной строки [a-z], включая регистр
RandomStringUtils.randomAlphabetic(5);

// Генерируем случайную строку от 32 до 126 ASCII
RandomStringUtils.randomAscii(4)

Интеллектуальная рекомендация


В файле XML Lazy-init верно, если true, указывая на «ленивый» загрузку, то есть создать объект при использовании только метода GetBean (); если False, это означает «не ленивый».


Тепловой дизайн ПЛИС

Чтобы любой чип работал, он должен соответствовать определенному температурному диапазону. Эта температура относится к температуре кремниевого чипа, которую обычно называют температурой перехода. ПЛИС.


Глубокое понимание анализа загрузчика (двух) классов виртуальных машин Java


поток событий js и блокировка событий

поток событий js и блокировка событий Процесс распространения событий js в основном делится на три этапа: Фаза захвата события: найти элементы снаружи внутрь На целевом этапе: действия самого источник.

Генерация случайных строк

Здравствуйте.
Задача сделать генерацию случайных строк которые имеют в себе строчные латинские (английские) буквы и цифры.

Задача на 50% сделана. Генерация происходит, теперь нужно разделить строку пробелами.
Нужно сделать строку численностью 25 символов, каждые пять символов через тире, что-то такое: 0GYDS-M525B-0P8AV-SISC1-T82RN, выходит вот такое: 0GYDSM525B0P8AVSISC1T82RN.

Подскажите как добавать разделитель, чтоб эту строку можно было присвоить переменной для сравнения.

Вот код работающий на половину:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Генерация случайных чисел
Не могу понять как генерировать случайные числа с двумя знаками после запятой. Вот программа.

Генерация случайных чисел
Помогите решить задачу. Рандомно генерируется число, это число записывается в список. Потом число.


Генерация уникальных случайных чисел
Делаю метод, который должен возвращать int не повторяющихся случайных чисел. Столкнулся с.

Генерация случайных чисел, кратных 10
собственно есть вопрос который я знаю как решить,но интересно узнать можно ли его реализовать с.

Спасибо за идею, сразу в голову не пришло.

Добавлено через 9 минут
Смысл +/- понял, вот как реализовать %5==0 в цикле не пойму..

В консоли:
Your Password: U-54GC-DIMI-5CV6-JF24-JABG-WQ

Сейчас еще с циклом for попробую.

Добавлено через 3 минуты
Все понял как это работает, DimaxDe, JIeIIIa, Pablito, спасибо большое за помощь!

Помощь в написании контрольных, курсовых и дипломных работ здесь.


Генерация случайных чисел в матрице
Здраствуйте я еще новичок в JAVA))мне надо написать программу так чтобы пользователь вводил размер.

Генерация случайных чисел в определенном промежутке
Добрый день. Как мне в java сгенерировать случайное числа в определенном промежутке ? Т.е я задаю 2.

Генерация Случайных Строк.
В общем, доброго времени суток всем. Не ожидал, что буду писать на форуме, но действительно.


Генерация строк из случайных символов массива
Запросить у пользователя количество строк, которые нужно сгенерировать, минимальное и максимальное.

Java – Генерация Случайной Строки

Генерируйте ограниченные и неограниченные случайные строки, используя простую Java и библиотеку Apache Commons Lang.

В этом уроке мы покажем, как сгенерировать случайную строку в Java – сначала с помощью стандартных библиотек Java, затем с помощью варианта Java 8 и, наконец, с помощью библиотеки Apache Commons Lang .

Эта статья является частью серии “Java – Back to Basic” здесь, на Baeldung.

1. Сгенерируйте Случайную Неограниченную Строку С Помощью Простой Java

Давайте начнем с простого и сгенерируем случайную Строку , ограниченную 7 символами:

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

Дальнейшее чтение:

Эффективный калькулятор частоты слов на Java

Java – Случайные длинные, Плавающие, целочисленные и двойные

Руководство по пулу строк Java

2. Сгенерируйте Случайную Ограниченную Строку С Помощью Простой Java

Далее – давайте рассмотрим создание более ограниченной случайной строки; мы собираемся сгенерировать случайную Строку , используя строчные буквы алфавита и заданную длину:

3. Сгенерируйте Случайную Алфавитную Строку С Помощью Java 8

Теперь давайте использовать Random.ints – добавлено в JDK 8 – для создания алфавитной строки:

4. Сгенерируйте Случайную Буквенно-Цифровую Строку С Помощью Java 8

А затем мы можем расширить наш набор символов, чтобы получить буквенно-цифровую строку :

Обратите внимание на использование метода filter выше, чтобы исключить символы Юникода между 65 и 90 – чтобы избежать символов вне диапазона.

5. Сгенерируйте Ограниченную Случайную Строку С Помощью Apache Commons Lang

Библиотека Commons Lang от Apache очень помогает при генерации случайных строк. Давайте посмотрим на создание ограниченной строки с использованием только букв :

Поэтому – вместо всего низкоуровневого кода в примере Java-это делается с помощью простой однострочной строки.

6. Создайте Алфавитную Строку С Помощью Apache Commons Lang

Еще один очень простой пример – на этот раз ограниченная Строка только с буквенными символами, но без передачи логических флагов в API:

7. Сгенерируйте Буквенно-Цифровую Строку С Помощью Apache Commons Lang

И, наконец, – та же случайная ограниченная Строка , но на этот раз – числовая:

И вот у нас есть это – создание ограниченных и неограниченных строк с помощью простой Java, варианта Java 8 или библиотеки Apache Commons.

8. Заключение

С помощью различных методов реализации мы смогли генерировать связанные и несвязанные строки, используя обычную Java, вариант Java 8 или библиотеку Apache Commons.

В этих примерах Java мы использовали java.util.Random , но один момент, о котором стоит упомянуть, заключается в том, что он не является криптографически безопасным. Рассмотрите возможность использования java.security.SecureRandom вместо этого для приложений, чувствительных к безопасности.

Реализацию всех этих примеров и фрагментов можно найти в проекте GitHub . Это проект на основе Maven, поэтому его должно быть легко импортировать и запускать.

Есть ли у Java какие-либо функции для генерации случайных символов или строк? Или нужно просто выбрать случайное целое число и преобразовать этот целочисленный код ascii в символ?

ОТВЕТЫ

Ответ 1

Существует много способов сделать это, но да, это включает в себя создание случайного int (используя, например, java.util.Random.nextInt ), а затем используя это для сопоставления с char . Если у вас есть определенный алфавит, то что-то вроде этого отличное:

Отметим, что java.util.Random на самом деле является генератором псевдослучайных чисел на основе довольно слабой линейная конгруэнтная формула. Вы упомянули о необходимости криптографии; вы можете изучить использование более сильного криптографически защищенного генератора псевдослучайных чисел в этом случае (например, java.security.SecureRandom ).

Ответ 2

Чтобы создать случайный char в a-z:

Ответ 3

Вы также можете использовать RandomStringUtils из проекта Apache Commons:

Ответ 4

Генерирует значения в диапазонах a-z, A-Z.

Ответ 5

В соответствии с 97 значением ascii малого "a".

в выше 3 числа для a, b, c или d, и если u хочет, чтобы все символы, такие как a-z, вы заменяли 3 числа на 25.

Ответ 6

Это тоже работает.

Ответ 7

Чтобы создать случайную строку, используйте метод anyString.

Вы можете создавать строки из более ограниченного набора символов или с ограничениями минимального/максимального размера.

Обычно вы запускаете тесты с несколькими значениями:

Ответ 8

данный chars вы можете создать "перетасованный" диапазон символов:

затем беря первые символы n , вы получите случайную строку длины n . Окончательный код просто:

NB: условие n > 0 перечеркнуто slice

EDIT

как правильно указал Стив, randomString использует не более одного раза каждую букву. Как обходной путь вы можете повторить алфавит m раз перед вызовом shuffle :

или просто укажите свой алфавит как String :

Ответ 9

Ответ 10

У тебя это есть. Просто создайте случайные коды ASCII самостоятельно. Для чего вам это нужно?

Ответ 11

Взгляните на класс Java Randomizer. Я думаю, вы можете рандомизировать символ, используя метод randomize (char []).

Ответ 12

Ответ Polygenelubricants также является хорошим решением, если вы хотите генерировать только шестнадцатеричные значения:

Ответ 13

Мое предложение для генерации случайной строки со смешанным случаем типа: "DthJwMvsTyu".
Этот алгоритм основан на кодах ASCII букв, когда его коды az (от 97 до 122) и AZ (от 65 до 90) отличаются в 5-м бите (2 ^ 5 или 1 << 5 или 32).

random.nextInt(2) : результат равен 0 или 1.

random.nextInt(2) << 5 : результат равен 0 или 32.

Верхний A равен 65, а нижний a равен 97. Разница только на 5-м бите (32), поэтому для генерации случайного символа мы делаем двоичный код OR '|' случайный charCaseBit (0 или 32) и случайный код от A до Z (от 65 до 90).

Ответ 14

Вот код для генерации случайного буквенно-цифрового кода. Сначала вы должны объявить строку разрешенных символов, которую вы хотите включить в случайное число, а также определить максимальную длину строки.

Используйте метод toString(), чтобы получить String из StringBuilder

Ответ 15

Это простое, но полезное открытие. Он определяет класс с именем RandomCharacter с 5 перегруженными методами для случайного получения определенного типа символов. Вы можете использовать эти методы в ваших будущих проектах.

Чтобы продемонстрировать, как это работает, давайте взглянем на следующую тестовую программу, отображающую 175 случайных строчных букв.

enter image description here

если вы запустите еще раз:

enter image description here

Я отдаю должное Ю.Даниэлю Лянгу за его книгу " Введение в программирование на Java, полная версия", 10-е издание, где я привел эти знания.

Ответ 16

Если вы не возражаете добавить новую библиотеку в свой код, вы можете генерировать символы с помощью MockNeat (отказ от ответственности: я один авторов).

Ответ 17

Позаботьтесь о том, что вы хотите, считая, что вы считаете "0", "1", "2".. как символы.

Генерируйте ограниченные и неограниченные случайные строки, используя простую Java и библиотеку Apache Commons Lang.

В этом уроке мы покажем, как сгенерировать случайную строку в Java – сначала с помощью стандартных библиотек Java, затем с помощью варианта Java 8 и, наконец, с помощью библиотеки Apache Commons Lang .

1. Сгенерируйте Случайную Неограниченную Строку С Помощью Простой Java

Давайте начнем с простого и сгенерируем случайную Строку , ограниченную 7 символами:

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

Дальнейшее чтение:

Эффективный калькулятор частоты слов на Java

Java – Случайные длинные, Плавающие, целочисленные и двойные

Руководство по пулу строк Java

2. Сгенерируйте Случайную Ограниченную Строку С Помощью Простой Java

Далее – давайте рассмотрим создание более ограниченной случайной строки; мы собираемся сгенерировать случайную Строку , используя строчные буквы алфавита и заданную длину:

3. Сгенерируйте Случайную Алфавитную Строку С Помощью Java 8

Теперь давайте использовать Random.ints – добавлено в JDK 8 – для создания алфавитной строки:

4. Сгенерируйте Случайную Буквенно-Цифровую Строку С Помощью Java 8

А затем мы можем расширить наш набор символов, чтобы получить буквенно-цифровую строку :

Обратите внимание на использование метода filter выше, чтобы исключить символы Юникода между 65 и 90 – чтобы избежать символов вне диапазона.

5. Сгенерируйте Ограниченную Случайную Строку С Помощью Apache Commons Lang

Библиотека Commons Lang от Apache очень помогает при генерации случайных строк. Давайте посмотрим на создание ограниченной строки с использованием только букв :

Поэтому – вместо всего низкоуровневого кода в примере Java-это делается с помощью простой однострочной строки.

6. Создайте Алфавитную Строку С Помощью Apache Commons Lang

Еще один очень простой пример – на этот раз ограниченная Строка только с буквенными символами, но без передачи логических флагов в API:

7. Сгенерируйте Буквенно-Цифровую Строку С Помощью Apache Commons Lang

И, наконец, – та же случайная ограниченная Строка , но на этот раз – числовая:

И вот у нас есть это – создание ограниченных и неограниченных строк с помощью простой Java, варианта Java 8 или библиотеки Apache Commons.

8. Заключение

С помощью различных методов реализации мы смогли генерировать связанные и несвязанные строки, используя обычную Java, вариант Java 8 или библиотеку Apache Commons.

В этих примерах Java мы использовали java.util.Random , но один момент, о котором стоит упомянуть, заключается в том, что он не является криптографически безопасным. Рассмотрите возможность использования java.security.SecureRandom вместо этого для приложений, чувствительных к безопасности.

Реализацию всех этих примеров и фрагментов можно найти в проекте GitHub . Это проект на основе Maven, поэтому его должно быть легко импортировать и запускать.

Есть ли у Java какие-либо функции для генерации случайных символов или строк? Или нужно просто выбрать случайное целое число и преобразовать этот целочисленный код ascii в символ?

спросил(а) 2010-04-13T06:45:00+04:00 11 лет, 7 месяцев назад

В соответствии с 97 значением ascii малого "a".

в выше 3 числа для a, b, c или d, и если u хочет, чтобы все символы, такие как a-z, вы заменяли 3 числа на 25.

ответил(а) 2012-12-24T15:25:00+04:00 8 лет, 10 месяцев назад

Чтобы создать случайный char в a-z:

ответил(а) 2010-04-13T10:45:00+04:00 11 лет, 7 месяцев назад

Существует много способов сделать это, но да, это включает в себя создание случайного int (используя, например, java.util.Random.nextInt ), а затем используя это для сопоставления с char . Если у вас есть определенный алфавит, то что-то вроде этого отличное:

Отметим, что java.util.Random на самом деле является генератором псевдослучайных чисел на основе довольно слабой линейная конгруэнтная формула. Вы упомянули о необходимости криптографии; вы можете изучить использование более сильного криптографически защищенного генератора псевдослучайных чисел в этом случае (например, java.security.SecureRandom ).

ответил(а) 2010-04-13T07:32:00+04:00 11 лет, 7 месяцев назад

Вы также можете использовать RandomStringUtils из проекта Apache Commons:

ответил(а) 2012-01-25T20:49:00+04:00 9 лет, 9 месяцев назад

Генерирует значения в диапазонах a-z, A-Z.

ответил(а) 2010-04-13T11:04:00+04:00 11 лет, 7 месяцев назад

Это тоже работает.

ответил(а) 2013-12-29T18:32:00+04:00 7 лет, 10 месяцев назад ответил(а) 2017-12-03T17:42:00+03:00 3 года, 11 месяцев назад

данный chars вы можете создать "перетасованный" диапазон символов:

затем беря первые символы n , вы получите случайную строку длины n . Окончательный код просто:

NB: условие n > 0 перечеркнуто slice

EDIT

как правильно указал Стив, randomString использует не более одного раза каждую букву. Как обходной путь
вы можете повторить алфавит m раз перед вызовом shuffle :

или просто укажите свой алфавит как String :

ответил(а) 2010-04-13T10:58:00+04:00 11 лет, 7 месяцев назад

Чтобы создать случайную строку, используйте метод anyString.

Вы можете создавать строки из более ограниченного набора символов или с ограничениями минимального/максимального размера.

Обычно вы запускаете тесты с несколькими значениями:

ответил(а) 2010-04-13T10:14:00+04:00 11 лет, 7 месяцев назад

Это простое, но полезное открытие. Он определяет класс с именем RandomCharacter с 5 перегруженными методами для случайного получения определенного типа символов. Вы можете использовать эти методы в ваших будущих проектах.

Чтобы продемонстрировать, как это работает, давайте взглянем на следующую тестовую программу, отображающую 175 случайных строчных букв.

enter image description here

если вы запустите еще раз:

enter image description here

Я отдаю должное Ю.Даниэлю Лянгу за его книгу " Введение в программирование на Java, полная версия", 10-е издание, где я привел эти знания.

ответил(а) 2019-04-14T10:02:00+03:00 2 года, 7 месяцев назад

Вот код для генерации случайного буквенно-цифрового кода. Сначала вы должны объявить строку разрешенных символов, которую вы хотите включить в случайное число, а также определить максимальную длину строки.

Используйте метод toString(), чтобы получить String из StringBuilder

Мое предложение для генерации случайной строки со смешанным случаем типа: "DthJwMvsTyu".
Этот алгоритм основан на кодах ASCII букв, когда его коды az (от 97 до 122) и AZ (от 65 до 90) отличаются в 5-м бите (2 ^ 5 или 1 << 5 или 32).

random.nextInt(2) : результат равен 0 или 1.

random.nextInt(2) << 5 : результат равен 0 или 32.

Верхний A равен 65, а нижний a равен 97. Разница только на 5-м бите (32), поэтому для генерации случайного символа мы делаем двоичный код OR '|' случайный charCaseBit (0 или 32) и случайный код от A до Z (от 65 до 90).

Читайте также: