调用方法麻烦

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。 我究竟做错了什么?

你正在做int division,它总是返回一个int。 例如,5/ 5/9返回0。

而是使用双师5.0/9.0

对于你的代码:

 public static double celsius (double fahrenheit) { return (fahrenheit - 32) / (5.0 / 9.0); } 

我们应该将此问题视为重复,因为它被多次询问。 例如: 华氏度到摄氏度 – 转换 – 仅产生0-0和0-0

(5/9)是整数除法,它总是返回0

它应该是: (5.0/9.0)