我们如何找到输入的下一个字符。例如,如果我输入了字符“b”,那我怎么得到答案“c”?

有帮助吗?

解决方案

试试这个:

char letter = 'c';

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

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

这样,当char是字母表的最后一个时,你就没有问题了。

其他提示

怎么样:

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

请注意,char将隐式转换为int。这是一个简化的解决方案:

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

也许最简单的方法是一个小函数和一个26个字符的数组。然后你可以决定你要为'z'返回什么。

将字符转换为数字,递增数字然后转换回来。

但请考虑“z”会发生什么。或“á” (拉丁语小A与急性)。

需要在角色中添加1才能获得下一个角色。 它适用于ASCII值。

ää分类? 在德语中(我认为)它应该在a之后排序,但在瑞典语中它应该在å之后,而后者又在z之后。这不是一个微不足道的问题,除非你把自己局限于英语。

此更改值可用于Excel应用程序以查找上一列

public static string PrevExecelColumn(string s)         {             s = s.ToUpper();             char [] ac = s.ToCharArray();             int ln = ac.Length;             for(int i = 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;
    }  

试试这个:

public string GetNextAlphabetLetter(int indice) {
  return ((char)('A' + indice)).ToString();
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top