java - 具有一个公共(public)变量的 getter 和 setter 问题

标签 java getter-setter

我有一个温度转换器程序的任务。我必须在一个由两个 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/

相关文章:

java - 如何正确读取 XML 文件中的节点值?

javascript - 模仿 Javascript 中的私有(private)变量

ios - 使用 getter 和 setter 是否可以将消息从父 UIViewController 传递到 UIView 类中的方法?

java - 使用 Java 或 C# 读取数据表

java - 请求有关在 Android 中创建自定义 SeekBar 的指导。 (如图所示)

swift - Swift 属性的多个 Getter?

Java自动获取和设置?

ios - 使用来自另一个 View Controller 的 setter getter

java - 为 ConcurrentHashMap 选择并发级别的最佳方法是什么?

Java 泛型,在 C<T extends MyClass<Z>> 中,方法应返回 Z