温度错误,Java基础知识

时间:2016-03-22 14:12:33

标签: java

public class Temperature {
    public static void main(String[] args) {
        double tempf = 98.6;
        double tempc = 0.0+tempc;
        ftoc(tempf, tempc);
        System.out.println("Body temp in C is: " + tempc);
    }

    // converts Fahrenheit temperatures to Celsius
    public static double ftoc(double tempf, double tempc) {
        tempc = (tempf - 32) * 5 / 9;

        return tempc;
    }
}

我是Java的初学者,无法弄清楚代码错误的原因......

1 个答案:

答案 0 :(得分:1)

Java是一种按值传递的语言,因此ftoc无法更改传递给它的tempc变量的值。为了更新变量,必须将方法的输出分配给它:

tempc = ftoc(tempf, tempc);

这意味着首先无法将tempc传递给该方法。

public static double ftoc(double tempf) {
    return (tempf - 32) * 5 / 9;
}

...

tempc = ftoc(tempf);