If-else语句不起作用

时间:2015-11-02 14:16:25

标签: 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 && 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;
}

4 个答案:

答案 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)