Генерация букв на Java

951
25 декабря 2016, 19:55

Как записать генерацию рандомных букв?

Answer 1

Получение рандомных букв, без учета алфавита

private static char getRandom() {
    Random random = new Random();
    int codePoint;
    while (!Character.isAlphabetic(codePoint = random.nextInt(Short.MAX_VALUE * 2))) ;
    return (char) codePoint;
}
Answer 2

Можно создать массив char[], в котором будут храниться всевозможные символы, которые могут быть сгенерированы.

Далее, с помощью генератора псевдослучайных чисел получать некоторое псевдослучайное число из диапазона от нуля и до char[].length - 1.

А потом просто брать из массива char[] символ по полученному индексу.

public class Main {
    private static Random sRandom = new Random();
    private static char[] sAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray();
    private static int sLength = sAlphabet.length;
    public static char getRandomChar() {
        return sAlphabet[sRandom.nextInt(sLength)];
    }
    public static void main(String[] args) {
        for (int i=0; i<10; i++) {
            System.out.println(getRandomChar());
        }
    }
}

Можно реализовать по-другому: генерировать число в диапазоне от минимального кода возможного символа до максимального, а потом просто кастовать int к char.

READ ALSO
Реализовать обход foreach для своей коллекции

Реализовать обход foreach для своей коллекции

В учебных целях нужно было самостоятельно реализовать связные списки и сделать так, чтобы был возможен обход через foreachКак я понял, нужно...

427
Как добавить в архив папку, используя Zip4j и OutputStream

Как добавить в архив папку, используя Zip4j и OutputStream

Я пытаюсь добавить в архив папку вот так (в соответствии с документацией):

385
Печать через USB из термо-принтера Java

Печать через USB из термо-принтера Java

Хочу печатать чеки из термо-принтера VKP80II с Java через USBДолго насиловал гугл, на русском ничего не нашел

394
Не выполняется sql запрос

Не выполняется sql запрос

Почему то после строки где мы делаем выполнение, ничего с базы не вытаскивается, а сразу переходит в блок finallyВсе данные есть и имена прописаны...

348