=操作符不能正常工作
本文关键字:工作 常工作 操作符 不能 | 更新日期: 2023-09-27 18:19:22
我不知道是不是我太笨了,但是我有一些验证代码来检查是或否的答案。
我似乎不能让它工作,我已经在我的程序的其他地方使用的代码,它的工作,但我不能发现错误,如果有一个。无论输入字符是什么,代码都会运行while语句。
string correctDestenation = Console.ReadLine().ToLower();
while (correctDestenation != "y" || correctDestenation != "n")
{
Console.WriteLine(
"Oops! You must enter a 'y' for yes and a 'n' for no");
correctDestenation = Console.ReadLine().ToLower();
}
你的逻辑不正确。你需要使用&&而不是||.
while (correctDestenation != "y" && correctDestenation != "n")
或者,你可以用德摩根定律,从另一个角度来看,也就是:
while (!(correctDestenation == "y" || correctDestenation == "n"))
该条件将始终得到满足,因为字符不会等于'y'或等于'n'。使用,,而不是||.
使用AND运算符
while (correctDestenation != "y" && correctDestenation != "n")
{
Console.WriteLine("Oops! You must enter a 'y' for yes and a 'n' for no");
correctDestenation = Console.ReadLine().ToLower();
}