我试图根据随机生成的温度设置价格。但是,它只返回前两个选项$ 0.50和$ 0.55。我很确定这与陈述有关,但我不完全确定它为什么不起作用。If-else声明不起作用
public static double GetPrice()
{
if (temp < 50)
{
price = 0.50;
}
else if (temp >= 50)
{
price = 0.55;
}
else if (temp >= 61 && temp <= 65)
{
price = 0.60;
}
else if (temp >= 66 && temp <= 70)
{
price = 0.65;
}
else if (temp >= 71 && temp <= 75)
{
price = 0.75;
}
else if (temp >= 76 && temp <= 80)
{
price = 0.80;
}
else if (temp >= 81 && temp <= 85)
{
price = 0.85;
}
else if (temp >= 86 && temp <= 90)
{
price = 0.90;
}
else if (temp > 90)
{
price = 1.00;
}
return price;
}
你有没有通过您的代码调试?发生了什么,有哪些输入? (重要的是要学会如何为自己诊断问题......) –
第一个条件解决了整个范围'(temp <50)'或'(temp> = 50)'抓住你测试的所有东西。缺少这样的东西:'(temp> = 50 && temp <= 60)' – areim
也是你的代码质量很差,你总是重复相同的'else if(temp> = XY && temp <= YZ)'this表明,那是错的。在这种类型的代码中调试会更困难。如果你使用类似'price = round(temp/100)'的东西 - 这将解决你需要的一切(玩这个提示,不是真正的工作代码) – areim