Cześć!
Potrzebuję stworzyć metodę w klasie Room, która po wywołaniu spowoduje spadek temperatury w pokoju o 1 stopień Celsjusza, ale tylko wtedy, gdy w pokoju znajduje się klimatyzator. Dodatkowo trzeba jeszcze ustawić temperaturę graniczną, poniżej której temperatura nie spadnie (np. gdy aktualna temperatura to 20.5C, a minimalna (graniczna) 20C, to po uruchomieniu klimatyzatora w pokoju powinno być 20C (a nie 19.5C)).
Metoda dodatkowo powinna zwracać true, jeżeli temperatura została obniżona, lub false jeżeli w pokoju nie ma klimatyzatora lub osiągnięto temperaturę graniczną.
**Metoda powinna zwracać true/false.
**
Po moim kombinowaniu stworzyłam 3 metody, które nie do końca działają (przy aktualnej temperaturze 20.5C i granicznej 20C z klimatyzatorem w pokoju dalej jest 20.5*C...
double decreaseTemp() {
if (airConditioning && temperature == 0.5 + limitTemperature) {
return limitTemperature;
} else if (airConditioning && temperature > limitTemperature) {
return temperature--;
} else if (!airConditioning) {
return temperature;
} else {
return limitTemperature;
}
}
double decreasedTemp() {
return Math.max(decreaseTemp(), limitTemperature);
}
boolean decreaseTempAndNoAirConditioningAndTempLimit() {
if (airConditioning && temperature > limitTemperature) {
return true;
} else if (!airConditioning || temperature == limitTemperature) {
return false;
} else {
return false;
}
}
Z góry dziękuję za pomoc!