【发布时间】:2022-01-30 09:43:21
【问题描述】:
您好,我知道这是非常基本的,但我在比较 char 和 != 时遇到了麻烦。每当我输入其他字母(不是 y 和 n)时,代码仍然循环。
我尝试将 != 更改为 ==,但当我按 Y 时,它会跳出循环。
这是怎么回事?谢谢!
public static void main(String[] args) {
char inputChar;
Scanner input = new Scanner(System.in);
do {
System.out.println("-----------------------------------------------");
System.out.println("Try Again(Y/N)? ");
do {
inputChar = input.next().toUpperCase().charAt(0);
System.out.println("Loop");
} while (inputChar != 'Y' || inputChar != 'N');
System.out.println(inputChar + " d");
} while (inputChar == 'Y');
System.out.println("Thank you and Good bye!");
}
【问题讨论】:
-
inputChar != 'Y' || inputChar != 'N'这始终是正确的,因此您永远不会退出该循环。请改用&& -
duplink 是同样的 logical 错误的一个示例......与您的代码几乎相同。
-
@stephen 用于书签目的stackoverflow.com/questions/26337003/…
-
@SotiriosDelimanolis - 谢谢。是的,这对双方来说都是一个更好的双向链接。
标签: java