public static void main (String[] args) {
for (double f=0; f<=20;f++) {
System.out.println(f+":Degrees Fahrenheit converted to Celsius = "+ celsius(f));
}
}
public static double celsius (double fahrenheit) {
double cels=(fahrenheit-32)/(5/9);
return cels;
}
通过这个程序,我正在尝试将华氏温度转换为摄氏温度,当我在运行程序时将方法Celsius调用到我的主程序时,Celsius的最终结果始终是-infinity。我做错了什么?
答案 0 :(得分:4)
你正在进行int division,它总是返回一个int。例如,5/9
返回0.
而是使用双重分割5.0/9.0
代码:
public static double celsius (double fahrenheit) {
return (fahrenheit - 32) / (5.0 / 9.0);
}
我们应该将此问题视为重复,因为它被多次询问。例如:fahrenheit-to-celsius-conversion-yields-only-0-0-and-0-0
答案 1 :(得分:2)
(5/9)
是一个整数除法,它总是返回0
。
应该是:(5.0/9.0)