我刚刚开始编码而无法得到这个"加热器"反对的工作。它只是提示if else声明"它太热了"当试图给temp一个更高的值时,它在调用" colder"时不会停止/低于最小临时值。方法。感谢
public class Heater {
private double temp;
private double min;
private double max;
private double increment;
public Heater(double min, double max) {
temp = 15;
increment = 5;
}
public void Warmer() {
if(temp + increment <= max) {
temp = temp + increment;
} else if(temp + increment > max) {
System.out.println("Too hot");
}
}
public void Colder() {
if(temp - increment >= min){
temp = temp - increment;
} else if (temp - increment < min){
System.out.println("Too cold");
}
}
public double getTemp() {
return temp;
}
}
答案 0 :(得分:0)
您未在构造函数中设置min
和max
,因此默认情况下它们保持为0。试试这个:
public Heater(double min, double max) {
this.min = min;
this.max = max;
temp = 15;
increment = 5;
}
答案 1 :(得分:0)
min
。它的值为零。else if
条件 - 只需使用else
。 public void colder() { // method name, make lower case.
if(temp - increment >= min){
temp = temp - increment;
} else {
System.out.println("Too cold");
}
}