1

我正在为我的 java 类介绍做一个作业,该类需要使用方法将温度从摄氏温度转换为华氏温度,反之亦然。它需要使用三种比较方法,我不知道该放什么。这些是说明:

三种比较方法:

public boolean equals (Temperature other)– 该方法将另一个温度作为参数,如果调用对象与其他温度相同,则返回true,否则返回false。请注意,摄氏温度可以等于华氏温度,如上述公式所示。

public boolean lessThan (Temperature other)– 如果调用对象的温度低于另一个,此方法将返回 true,否则返回 false。

public boolean greaterThan (Temperature other)– 如果调用对象的温度高于另一个,此方法将返回 true,否则返回 false。

到目前为止,这就是我所拥有的一切,因为我不确定如何开始:

public boolean equals (Temperature other) 
{
    // code here
}
public boolean lessThan (Temperature other) 
{
    // code here
}
public boolean greaterThan (Temperature other) 
{
    // code here
}

我对java很陌生,所以如果这是一个非常明显的答案,我深表歉意。请帮忙,谢谢!

4

1 回答 1

0

我个人会做什么(假设温度类可以是摄氏或华氏。是制作一种将给定比例转换为预定义比例的方法。例如,如果您有一个带有摄氏温度的类和一个带有华氏温度的类,那么它最容易将摄氏度转换为华氏度,反之亦然,这样您就可以轻松地比较两者。当然,具有正确值的那个不需要转换。

完成此操作后,您可以使用转换后的值来比较两个温度。

它看起来像这样:

public float toCelsius() {
    switch (scale) {
        case "celsius":
            return temperature;
        case "fahrenheit":
            return (temperature - 32) / 1.8;
    }
    return 0;
}

public boolean equals (Temperature other) {
    return toCelsius() == other.toCelsius();
}

注意:为了使这个更清洁,您可以为秤添加一个枚举,例如,出于我没有这样做的目的,并且由于提出问题的人是新人,我假设他们不必这样做。请记住,添加枚举将是执行 switch case 和存储比例的更简洁的方法。

于 2019-10-15T06:28:17.577 回答