Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

String value = "C";
int charValue = value.charAt(0);
String next = String.valueOf( (char) (charValue + 1));
System.out.println(next);

Ответ 2

Хорошо, если вы имеете в виду "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, поэтому, если дело с буквой важно, вам нужно обратить на это внимание.

Ответ 3

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

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

выводит D и B.

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

Ответ 4

просто так:

System.out.printf("%c\n",letter);
letter++;