++变量在if语句中的if语句内部不起作用

时间:2018-06-09 16:44:00

标签: c#

我不了解我的基本知识,我在if语句中的if语句不起作用。如果我删除if(graden == -100)然后它工作,但我希望if语句执行当有人按下-100与最后一个console.write可以有人帮助我吗?如果我不删除if(graden == -100),则boven20Count的结果为0。

感谢您的时间。

bool herhaal = true;
do
{
    int boven20Count = 0;

    Console.WriteLine("Geef de temperatuur");
    int graden = int.Parse(Console.ReadLine());

    if (graden == -100)
    { 
        if (graden > 20)
        {
            boven20Count++;
        }
    }

    Console.WriteLine("Aantal dagen boven de 20 graden: " + boven20Count);
} while (herhaal);

2 个答案:

答案 0 :(得分:3)

这种情况永远不会成真。首先评估外部if语句,并且仅在graden -100中输入。然后评估内部if语句。由于graden-100,因此永远不会超过20,因此永远不会达到行boven20Count++ - 您需要在此更正逻辑。

答案 1 :(得分:0)

我们了解到您正在尝试打印温度高于20的天数,并希望-100的条件在最后Console.WriteLine之后立即执行, ,为了实现这一目标,您必须设置do while循环条件以包含-100条件,如下所示:

int degrees;
do
{
    int above20Count = 0;

    Console.WriteLine("Enter the temperature");
    degrees = int.Parse(Console.ReadLine());

    if (degrees > 20)
    {
        above20Count++;
    }

    Console.WriteLine("Number of days above 20 degrees: " + above20Count);

} while (degrees == -100);

这样你的程序就会执行一次,如果degrees等于-100,它会再次循环,如果不是,它会停止。