为什么我的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 != 2false || true或只是true

你需要改变你的条件while(method != 1 && method != 2)可以读作method is not 1 AND method is not 2

以上是关于为什么我的while循环执行,即使条件是不是真的?的主要内容,如果未能解决你的问题,请参考以下文章

JS中 do while循环问题

while循环

Python基础

学习笔记11循环语句—while

流程控制06-do..while循环

Java基础整理