我们如何找到输入的下一个字符。例如,如果我输入了字符“b”,那么如何得到答案“c”?
答案 0 :(得分:36)
试试这个:
char letter = 'c';
if (letter == 'z')
nextChar = 'a';
else if (letter == 'Z')
nextChar = 'A';
else
nextChar = (char)(((int)letter) + 1);
这样,当char是字母表的最后一个时,你就没有问题了。
答案 1 :(得分:14)
怎么样:
char first = 'c';
char nextChar = (char)((int) first + 1);
答案 2 :(得分:5)
请注意,char将隐式转换为int。这是一个简化的解决方案:
char incrementCharacter(char input)
{
return (input == 'z'? 'a': (char)(input + 1));
}
答案 3 :(得分:2)
也许最简单的方法是一个小函数和一个26个字符的数组。然后你可以决定你要为'z'返回什么。
答案 4 :(得分:1)
将字符转换为数字,递增数字然后转换回来。
但请考虑一下“z”或“á”会发生什么(拉丁文小A与急性)。
答案 5 :(得分:0)
需要在角色中添加1才能获得下一个角色。 它适用于ASCII值。
答案 6 :(得分:0)
ä如何排序? 在德语中(我认为)它应该在a之后排序,但是在瑞典语中它应该在å之后,而后者又在z之后。这不是一个微不足道的问题,除非你把自己局限于英语。
答案 7 :(得分:0)
此更改值可用于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;
}
答案 8 :(得分:0)
尝试一下:
public string GetNextAlphabetLetter(int indice) {
return ((char)('A' + indice)).ToString();
}