Если я хочу случайным образом выбрать букву между a и z, я предполагаю, что мне нужно использовать класс Random:
Random rand = new Random();
Но поскольку это только порождает числа, что мне нужно сделать, чтобы применить это к буквам?
Ответ 1
Random r = new Random();
char c = (char) (r.nextInt(26) + 'a');
Ответ 2
Буквы, или, точнее, символы, являются числами (от 0 до 255 в расширенном ascii, от 0 до 127 в нераспространенном). Например, в ASCII "A" (цитата означает, что символ, в отличие от строки) равен 65. Таким образом, 1 + "A" даст вам 66 - "B".
Таким образом, вы можете взять случайное число от 0 до 26, добавить его к символу "a", и вот вы: случайная буква.
Вы также можете сделать это со строкой, набрав "abcdefghijklmnopqrstuvwxyz" и занимая случайную позицию в этой цепочке, но решение Barker более элегантно.
Ответ 3
изменить версию @Michael Barker
Random r = new Random();
int c = r.nextInt(26) + (byte)'a';
System.out.println((char)c);