Этот код, похоже, не работает. Я не могу понять, почему это не так, но когда я запускаю его, кажется, что выбирает случайную цену из опций, а не уходит, какова температура на самом деле. Мне также интересно, будет ли лучший способ реализовать то, что я пытаюсь сделать, а не огромную лестницу if-else. СпасибоIf-else выбор случайной опции, а не выбор основы для произвольно сгенерированного числа
public static double GetPrice()
{
if (temp >= 0 && temp < 50)
{
price = 0.50;
}
else if (temp >= 50 && temp <= 60)
{
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? вы пытались его отладить? – SomeJavaGuy
Можете ли вы добавить несколько тестовых примеров с разными значениями «темп» и их соответствующих выходов? –
Заметили ли вы, что вы можете достичь того же самого без всех этих утверждений 'if'? Например, используя методы 'round' и/или' ceil' ... –