我正在尝试编写一种吸收华氏温度并返回等效摄氏温度的方法。为此,我的任务是在主程序中编写一个循环,该循环调用方法并输出华氏值的转换:0、5、10、15,…,100。

这是我所拥有的:

import java.util.Scanner;

public class TemperatureConverter {

    public static void main(String[] args) {
        int F;
        F = 0;
        double tempCelsius;

        while (F <= 100) {
            convert(F);
            System.out.println(F + " degrees F corresponds to " + tempCelsius + " degrees C");
            F = F + 5;
        }
    }

    public static double convert(int F) {
        tempCelsius = ((5.0 / 9.0) * (F - 32));

        return tempCelsius;
    }
}


我得到的错误是


  /TemperatureConverter.java:32:错误:找不到符号
      tempCelsius =((5.0 / 9.0)*(F-32));
      ^


我感谢任何方向。

最佳答案

你的功能应该是

public static double convert(int F) {
    return ((5.0 / 9.0) * ( F - 32 ));
}


您应该通过以下方式调用它:

tempCelsius = convert(F);


以前,您试图从tempCelsius访问局部变量convert,但是该变量仅在main内部可用。

09-26 22:42