我有一个温度转换器程序的任务。我必须在一个由两个 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());
}
}
我怎么能对 getter 说,当 main 函数设置第一个 setter 时,getter 返回这个……而在第二次返回那个……
这是 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;
}
关于java - 具有一个公共(public)变量的 getter 和 setter 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53430702/