Как я увеличиваю переменную к следующей или предыдущей букве в алфавите?

Мне определили прописную букву в переменной строке, и я хочу произвести следующие и предыдущие буквы в алфавите. Например, если переменная была равна 'C', Я хотел бы произвести 'B' и 'D'.

17
задан Alexei Levenkov 2 November 2015 в 05:55
поделиться

3 ответа

Один из способов:

String value = "C";
int charValue = value.charAt(0);
String next = String.valueOf( (char) (charValue + 1));
System.out.println(next);
32
ответ дан 30 November 2019 в 10:36
поделиться

Если вы ограничены латинским алфавитом, вы можете использовать тот факт, что символы в таблице ASCII упорядочены в алфавитном порядке, поэтому:

System.out.println((char) ('C' + 1));
System.out.println((char) ('C' - 1));

выводит D и B .

Вы добавляете char и int , тем самым добавляя int к ascii-коду char . Когда вы возвращаетесь к char , код ascii преобразуется в символ.

6
ответ дан 30 November 2019 в 10:36
поделиться

Что ж, если вы имеете в виду «ABC», тогда они разделяются на две последовательности a-z и A-Z. Я думаю, что самый простой способ - использовать переменную типа char и увеличить индекс на единицу.

char letter='c';
letter++;  // (letter=='d')

То же самое касается декремента:

char letter='c';
letter--; // (letter=='b')

дело в том, что буквы a-z представлены как 97-122, а A-Z - 65-90, поэтому, если регистр букв важен, вам нужно обратить на это внимание.

14
ответ дан 30 November 2019 в 10:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: