我正在尝试根据随机生成的温度设置价格。但是,它只返回前两个选项$ 0.50和$ 0.55。我很确定它与&&&声明,但我不完全确定它为什么不起作用。
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;
}
答案 0 :(得分:3)
将前两个条件更改为
if (temp >=0 && temp < 50)
{
price = 0.50;
}
else if (temp >= 50 && temp < 61)
{
price = 0.55;
}
答案 1 :(得分:1)
因为前两个分支都是正确的。
答案 2 :(得分:1)
看看if-else阶梯的开头。
if (temp < 50)
{
price = 0.50;
}
else if (temp >= 50)
{
price = 0.55;
}
第一种情况涵盖了temp小于50的所有场景。第二种情况涵盖了temp大于或等于50的所有部分。这涵盖了所有可能值的集合,因此没有其他子句被执行。
答案 3 :(得分:1)
第一个if如果没有temp的上限。
更改
else if (temp >= 50)
到
else if (temp >= 50 && temp < 61)