Мне определили прописную букву в переменной строке, и я хочу произвести следующие и предыдущие буквы в алфавите. Например, если переменная была равна 'C'
, Я хотел бы произвести 'B'
и 'D'
.
Один из способов:
String value = "C";
int charValue = value.charAt(0);
String next = String.valueOf( (char) (charValue + 1));
System.out.println(next);
Если вы ограничены латинским алфавитом, вы можете использовать тот факт, что символы в таблице ASCII упорядочены в алфавитном порядке, поэтому:
System.out.println((char) ('C' + 1));
System.out.println((char) ('C' - 1));
выводит D
и B
.
Вы добавляете char
и int
, тем самым добавляя int
к ascii-коду char
. Когда вы возвращаетесь к char
, код ascii преобразуется в символ.
Что ж, если вы имеете в виду «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, поэтому, если регистр букв важен, вам нужно обратить на это внимание.