Java 不大于或等于 Char 类型的运算符

新手上路,请多包涵

所以我试图用简短的方式写这个:

 char letter;
while ( letter!='A' && letter!='B' && letter!= 'C... letter!= 'a'
                                                     && letter !='b' && letter!=c)

基本上如果用户没有输入 A 和 C 之间的字母,while 循环将运行直到输入 A,B,C,a,b,c。

它应该是这样的形式

while(letter<'a' && letter > 'c')

但它显然不起作用,因为如果我输入 F,它是否大于“C”,但小于“c”,因为 char 使用 ACSII。

原文由 Majestic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 420
1 个回答

有很多方法可以进行此检查。

 char letter;
while (!(letter >= 'A' && letter <= 'C') && !(letter >= 'a' && letter <= 'c'))

或者您可以在字母上使用 Character.toUpperCasetoLowerCase 删除一半的条件。

或者,如果字母范围很小或不连续,您可以这样做:

 char letter;
while ("ABCabc".indexOf(letter) == -1)

当然还有更多的方法。

原文由 Erwin Bolwidt 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题