如何按字母顺序找出下一个字符?

MAC*_*MAC 25 c# char

我们如何才能找到输入的下一个字符.例如,如果我输入了字符"b",那么我如何得到答案"c"?

rog*_*pvl 41

试试这个:

char letter = 'c';

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

else
    nextChar = (char)(((int)letter) + 1);
Run Code Online (Sandbox Code Playgroud)

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

  • 等等 - 用"+ 13"替换"+ 1",你得到......? (2认同)

Hem*_*ant 15

怎么样:

char first = 'c';
char nextChar = (char)((int) first + 1);
Run Code Online (Sandbox Code Playgroud)

  • 不,让他自己找出它为什么不起作用;-) (3认同)
  • 'z'的回报是什么? (2认同)
  • 那肯定行不通。我试图通过不添加验证代码来简化。但是看到有问题的评论,我觉得我不应该回答。我应该删除我的答案吗? (2认同)

Jos*_*shL 7

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

char incrementCharacter(char input)
{
    return (input == 'z'? 'a': (char)(input + 1));
}
Run Code Online (Sandbox Code Playgroud)