我不了解我的基本知识,我在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);
答案 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
,它会再次循环,如果不是,它会停止。