gpt4 book ai didi

Java-开尔文到华氏度的转换方法

转载 作者:行者123 更新时间:2023-12-02 06:08:46 24 4
gpt4 key购买 nike

所以我目前正在开发一个非常简单的程序。它的作用是将华氏度或摄氏度转换为开尔文,然后根据用户请求(f 或 c)将开尔文值转换并以摄氏度或华氏度返回。

我的摄氏度转换似乎工作得很好,但华氏度却是另一回事。我们的教授说我们的输出必须 100% 匹配给定的示例,当我给出摄氏温度并请求返回摄氏温度时,它总是返回我最初输入的值。

但是,在将 95 摄氏度转换为华氏度时,我得到了这个:203.28800000000007我应该得到的值是:203.0此外,当我输入 50 华氏度并要求它返回华氏度时,我得到的是:32.0。

我将发布包含所有转换方法的类,但是任何人都可以帮助我解决可能出错的地方吗?在我看来,根据我的公式,它只是返回公式中加/减 32 的部分。我尝试过公式的其他格式,但似乎没有任何效果。

public class Temperature 

{

// Instance variable

private double degreesKelvin; // degrees in Kelvin

// Constructor method: initialize degreesKelvin to zero

public Temperature()
{
degreesKelvin = 0;
}

// Convert and save degreesCelius in the Kelvin scale

public void setCelsius(double degreesCelsius)
{
degreesKelvin = degreesCelsius + 273.16;
}

// Convert degreesKelvin to Celsius and return the value

public double getCelsius()
{
double c = degreesKelvin - 273.16;
return c;
}

// Convert and save degreesFahrenheit in the Kelvin scale

public void setFahrenheit(double degreesFahrenheit)
{
degreesKelvin = (5/9 * (degreesFahrenheit - 32) + 273);
}

// Convert degreesKelvin to Fahrenheit and return the value

public double getFahrenheit()
{
double f = (((degreesKelvin - 273) * 9/5) + 32);
return f;
}

}

感谢您的帮助,我尝试寻找此问题的解决方案,但到目前为止似乎没有任何效果。

最佳答案

注意整数除法,2 个整数(除后)的结果会产生一个整数:

5/9 = 0
9/5 = 1

要解决此问题,请将其中 1 个转换为 float 类型,例如:

5d/9 //or 5.0/9

同样如此

9d/5 //or 9.0/5

关于Java-开尔文到华氏度的转换方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com