【发布时间】:2016-06-30 22:57:14
【问题描述】:
我会比较一个字符,但它实际上不起作用:
//...
System.out.print("PROCEED? (Y/N):\t");
line = in.nextLine();
ch = line.charAt(0);
while (ch != 'y' || ch != 'n' || ch != 'Y' || ch != 'N'){
System.out.print("NON-VALID INPUT. TYPE Y-N:\t");
line = in.nextLine();
ch = line.charAt(0);
}
//...
在我的终端上,当我按下y 或n 时,结果是:
PROCEED? (Y/N): y
NON-VALID INPUT. TYPE Y-N: y
NON-VALID INPUT. TYPE Y-N: Y
NON-VALID INPUT. TYPE Y-N: n
NON-VALID INPUT. TYPE Y-N: r
NON-VALID INPUT. TYPE Y-N: d
...
【问题讨论】:
-
ch != 'y' || ch != 'n'将总是为真,因为如果ch == 'y'那么ch != 'n';如果ch == 'n'那么ch != 'y';如果ch != 'y'和ch != 'n'也是如此。
标签: java while-loop char comparison