我有一个温度转换器程序的任务。我必须在一个类中使用一个veriable,这是由两个setter和两个getter方法使用的。
这是主要的类:
public class Main {
public static void main(String[] args) {
Homero ho = new Homero();
ho.setCelsius(0);
System.out.println(ho.getFahrenheit());
System.out.println(ho.getCelsius());
ho.setFahrenheit(212);
System.out.println(ho.getFahrenheit());
System.out.println(ho.getCelsius());
}
}
我该如何对吸气剂说,当主函数设置了第一个设置器时,吸气剂将以此方式返回……而第二次以该方式返回……
这是Homero类:
public class Homero {
double celsius;
public void setCelsius(double celsius){
this.celsius = celsius;
}
public void setFahrenheit(double fahr){
this.celsius = fahr;
}
public double getFahrenheit(){
return (this.celsius*9)/5+32;
}
public double getCelsius(){
return (this.celsius-32)*5/9;
}
}
这将是正确的输出:
32.0
0.0
212.0
100.0
和我得到的错误输出。
32.0
-17.77777777777778
413.6
100.0
最佳答案
摄氏的getter和setter不需要转换。在华氏度的getter和setter中进行计算:
public void setCelsius(double celsius){
this.celsius = celsius;
}
public void setFahrenheit(double fahr){
this.celsius = (fahr -32)*5/9;
}
public double getFahrenheit(){
return this.celsius*9/5+32;
}
public double getCelsius(){
return this.celsius;
}