C# 为什么在if语句运行之前,else语句仍在运行?
当“wunschnote”不大于6且小于1时,所有if语句都不会运行,但只要其中一个if语句运行,else语句也会执行 我试图在if语句中设置“Console.ReadLine();”,但这导致了同样的问题。然后我尝试将else语句替换为if语句,但这也导致了同样的问题C# 为什么在if语句运行之前,else语句仍在运行?,c#,if-statement,console,console-application,C#,If Statement,Console,Console Application,当“wunschnote”不大于6且小于1时,所有if语句都不会运行,但只要其中一个if语句运行,else语句也会执行 我试图在if语句中设置“Console.ReadLine();”,但这导致了同样的问题。然后我尝试将else语句替换为if语句,但这也导致了同样的问题 if (wunschnote > 6) { Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste
if (wunschnote > 6)
{
Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}
if (wunschnote < 1)
{
Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}
else
{
Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");
}
Console.ReadLine();
if(wunschnote>6)
{
Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”);
}
如果(wunschnote<1)
{
Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”);
}
其他的
{
Console.WriteLine(“在nächsten探针中”+wunschnote+“erreicht werden,damit der Schnitt von”+Wunschnitt+“erreicht wird”);
}
Console.ReadLine();
我希望当其中一个if语句运行时,else语句不会得到executet。您需要在您的案例的第二个条件中应用
if else if
:
if (wunschnote > 6) { // this fails
}
else if (wunschnote < 1) { // then check this
}
else { // if above if fails then this executes
}
如果(wunschnote>6){//这会失败
}
否则,如果(wunschnote<1){//,则检查此项
}
else{//如果上述操作失败,则执行此操作
}
现在在这种情况下,只执行一个条件块代码。您的else语句仅对第二个if条件(6)有效 { Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”); } else if(wunschnote<1) { Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”); } 其他的 { Console.WriteLine(“在nächsten探针中”+wunschnote+“erreicht werden,damit der Schnitt von”+Wunschnitt+“erreicht wird”); } 试试这个:
if (wunschnote > 6 || wunschnote < 1)
Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
else
Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");
if(wunschnote>6 | | wunschnote<1)
Console.WriteLine(“Wunschnitt-kann-nicht-erreicht-werden.\nDie Wunschnote-müsste-eine”+Wunschnote+“betragen.”);
其他的
Console.WriteLine(“在nächsten探针中”+wunschnote+“erreicht werden,damit der Schnitt von”+Wunschnitt+“erreicht wird”);
if的第二个if应该是elseif
if (wunschnote > 6)
{
Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}
else if (wunschnote < 1)
{
Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
}
else
{
Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");
}
if (wunschnote > 6 || wunschnote < 1)
Console.WriteLine("Der Wunschnitt kann nicht erreicht werden.\nDie Wunschnote müsste eine " + wunschnote + " betragen.");
else
Console.WriteLine("In der nächsten Probe muss eine " + wunschnote + " erreicht werden, damit der Schnitt von " + wunsschnitt + " erreicht wird.");