所以我试图用简短的方式写这个:
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 许可协议
有很多方法可以进行此检查。
或者您可以在字母上使用
Character.toUpperCase
或toLowerCase
删除一半的条件。或者,如果字母范围很小或不连续,您可以这样做:
当然还有更多的方法。