Java If-else语句不起作用
我试图根据随机生成的温度设置价格。但是,它只返回前两个选项$0.50和$0.55。我很确定它与&&语句有关,但我不完全确定它为什么不起作用Java If-else语句不起作用,java,Java,我试图根据随机生成的温度设置价格。但是,它只返回前两个选项$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
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;
}
publicstaticdoublegetprice()
{
如果(温度<50)
{
价格=0.50;
}
否则,如果(温度>=50)
{
价格=0.55;
}
否则,如果(温度>=61&&temp=66&&temp=71&&temp=76&&temp=81&&temp=86&&temp=90)
{
价格=1.00;
}
退货价格;
}
因为前两个分支都是真的。将前两个条件更改为
if (temp >=0 && temp < 50)
{
price = 0.50;
}
else if (temp >= 50 && temp < 61)
{
price = 0.55;
}
如果(温度>=0&&temp<50)
{
价格=0.50;
}
否则,如果(温度>=50和温度<61)
{
价格=0.55;
}
查看if-else阶梯的开头
if (temp < 50)
{
price = 0.50;
}
else if (temp >= 50)
{
price = 0.55;
}
if(温度<50)
{
价格=0.50;
}
否则,如果(温度>=50)
{
价格=0.55;
}
第一种情况涵盖了温度低于50的所有情况。第二种情况包括温度大于或等于50的所有零件。这涵盖了所有可能值的集合,因此不会执行任何其他子句。第一个else if没有temp的上限。
改变
如果(温度>=50)
到否则如果(temp>=50&&temp<61)
您是否已通过代码进行调试?发生了什么,用什么输入?(学习如何自己诊断问题很重要…)前两个条件可以解决整个范围(temp<50)
或(temp>=50)
捕获您测试的所有内容。缺少类似的内容:(temp>=50&&temp同样,您的代码质量很差,您总是重复相同的else if(temp>=XY&&temp),如果您放置一个else if(temp>=50),您应该知道例如,值为65时,将始终在该条件下输入,并且一旦接受了IF条件,就不需要使用所有其他条件请记住,ELSE
本质上等同于说IF(以前的条件为false)
。如果else if语句的if部分的条件得到满足,但代码仍然没有执行,则可能意味着先前的检查已经得到满足。