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

Как узнать следующий алфавит в алфавитном порядке?

Как мы можем узнать следующий символ введенного. Например, если я ввел символ "b", то как мне получить ответ "c"?

4b9b3361

Ответ 1

Попробуйте следующее:

char letter = 'c';

if (letter == 'z')
    nextChar = 'a';
else if (letter == 'Z')
    nextChar = 'A';

else
    nextChar = (char)(((int)letter) + 1);

Таким образом, у вас нет проблем, когда char является последним из алфавита.

Ответ 2

Как насчет:

char first = 'c';
char nextChar = (char)((int) first + 1);

Ответ 3

Обратите внимание, что a char будет неявно отбрасываться в int. Здесь упрощенное решение:

char incrementCharacter(char input)
{
    return (input == 'z'? 'a': (char)(input + 1));
}

Ответ 4

Возможно, самый простой способ - небольшая функция и массив из 26 символов. Затем вы можете решить, что вы хотите вернуть для "z".

Ответ 5

Преобразуйте символ в число, увеличивайте число и затем конвертируйте обратно.

Но подумайте, что произойдет для "z" или "á" (латинский Small Leter A с острой).

Ответ 6

нужно просто добавить 1 в символ, который вы получите следующим персонажем. Он работает с значениями ASCII.

Ответ 7

Как происходит сортировка? На немецком языке (я думаю) он должен сортироваться после a, но на шведском языке он должен появиться после å, который, в свою очередь, после z. Это не тривиальный вопрос, если вы не ограничиваете себя английским языком.

Ответ 8

Это значение изменения полезно для приложения Excel для поиска предыдущего столбца

публичная статическая строка PrevExecelColumn (строка s)       {           s = s.ToUpper();           char [] ac = s.ToCharArray();           int ln = ac.Length;           для (int я = ln - 1; i > -1; i--)           {                char c = ac [i];

            if (c == 'A')
            {
                ac[i] = 'Z';
                continue;
            }

            ac[i] = (char)(((int)ac[i]) - 1);
            break;

        }
        s = new string(ac);
        return s;
    }