Console.WriteLine("Bent u een man of een vrouw?");
string Geslacht = Console.ReadLine();
if (Geslacht == "man")
{
double Totaal;
double LengteMan;
double H = 100;
double N = 0.9;
Console.WriteLine("Wat is uw lichaamslengte in cm?");
LengteMan = Convert.ToInt32(Console.ReadLine());
Totaal = (LengteMan - H) * N;
Console.WriteLine("Uw ideale gewicht is " + Totaal + " Kilo");
Console.ReadKey();
}
if (Geslacht == "vrouw")
{
Console.WriteLine("TestVrouw");
}
else
{
Console.WriteLine("error");
}
完成if
条件后,控制台仍输出 "error"
。为什么会发生这种情况,我该如何阻止这种情况发生?
答案 0 :(得分:3)
您正在寻找if ... else if ... else
模式:
// Trim - let's be nice and tolerate leading / trailing spaces
string Geslacht = Console.ReadLine().Trim();
if (Geslacht == "man")
{
// Either "man" (1st valid input)
}
else if (Geslacht == "vrouw")
{
// Or "vrouw" (2nd valid input)
}
else
{
// All the other inputs are wrong ones (error)
}
答案 1 :(得分:0)
您的语法错误。您使用“ if”代替了if:
if (Geslacht == "man")
{
double Totaal;
double LengteMan;
double H = 100;
double N = 0.9;
Console.WriteLine("Wat is uw lichaamslengte in cm?");
LengteMan = Convert.ToInt32(Console.ReadLine());
Totaal = (LengteMan - H) * N;
Console.WriteLine("Uw ideale gewicht is " + Totaal + " Kilo");
Console.ReadKey();
}
else if (Geslacht == "vrouw")
{
Console.WriteLine("TestVrouw");
}
else
{
Console.WriteLine("error");
}
答案 2 :(得分:0)
由于您正在比较“ Geslacht”字符串,因此不应写两个if,而必须使用else if代替。
正确的代码是:
Console.WriteLine("Bent u een man of een vrouw?");
string Geslacht = Console.ReadLine();
if (Geslacht == "man")
{
....
}
else if (Geslacht == "vrouw")
{
Console.WriteLine("TestVrouw");
}
else
{
Console.WriteLine("error");
}