为什么我的while循环执行,即使条件是不是真的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的while循环执行,即使条件是不是真的?相关的知识,希望对你有一定的参考价值。
林编码一个简单的程序太摄氏转换到华氏温度。要选择,如果你想在你身边输入1或2到控制台摄氏转换为华氏或其他方式。为此我写了,我想,直到你进入1或2到控制台得到执行while循环。相反,循环继续无论输入正确与否。
int x, y, method;
Console.WriteLine("Ange '1' för C to F. Ange '2' för F to C");
method = int.Parse(Console.ReadLine());
while (method != 1 || method != 2)
Console.WriteLine("Ingen giltig metod valdes, välj giltid metod (1, 2)");
method = int.Parse(Console.ReadLine());
if (method == 1 || method == 2)
Console.WriteLine("Ange temperatur som motsavarar metoden");
x = int.Parse(Console.ReadLine());
if (method == 1)
y = x * 9 / 5 + 32;
Console.WriteLine("Temperaturen 0C blir 1F", x, y);
Console.Read();
else if (method == 2)
y = (x - 32) * 5 / 9;
Console.WriteLine("Temperaturen 0F blir 1C", x, y);
Console.Read();
我希望while循环也执行,直到值是1或2,当varible“方法”等于1或2我想如果跌破statment运行。取而代之的是while循环继续,无论输入。
答案
你需要and
这些条件,而不是or
的:
while (method != 1 && method != 2)
为进一步开发利用词词while
所以不是你的要求:
I expect the while loop too execute until the value is either 1 or 2
你应该对自己说
I expect the loop to execute while value is not equal to 1 and is not equal to 2
另一答案
如果你写1
到控制台则条件method != 1 || method != 2
可以读作1 != 1 || 1 != 2
或false || true
或只是true
。
你需要改变你的条件while(method != 1 && method != 2)
可以读作method is not 1 AND method is not 2
。
以上是关于为什么我的while循环执行,即使条件是不是真的?的主要内容,如果未能解决你的问题,请参考以下文章