因此,我应该显示一个表,该表使用for循环和接受华氏温度作为参数的摄氏方法,以0.5增量将华氏温度从94F转换为104F。
(我们本周只是在学习方法)
为什么我会收到此错误?这段代码是否朝着正确的方向前进?

FahrenheitToCelsius.java:28: error: cannot find symbol
                fhdeg, celdeg(fhdeg) );
                       ^
  symbol:   method celdeg(double)
  location: class FahrenheitToCelsius
  1 error


FahrenheitToSelsius.java

/* PC 5.6 - Fahrenheit to Celsius
   -------------------------
   Programmer: xxxxxxxxxxx
   Date: xxxxxxxxxxxxxxxxx
   -------------------------
   This program will convert Fahrenheit to Celsius and display the
   results.
*/
// ---------1---------2---------3---------4---------5---------6---------7
// 1234567890123456789012345678901234567890123456789012345678901234567890

public class FahrenheitToCelsius
{
   public static void main(String[] args)
   {
      System.out.println("Temperature Conversion Table");
      System.out.println("____________________________");
      System.out.println("  Fahrenheit      Celsius  ");
   }
   public static double celsius(double fhdeg)
   {

      for (fhdeg = 0; fhdeg >=94; fhdeg+=0.5)
      {
      double celdeg = 0;
      celdeg = 5.0/9 * fhdeg-32;
      System.out.printf( "    %5.1d           %4.1d\n",
                    fhdeg, celdeg(fhdeg) );
      }
   }
}

最佳答案

表达式celdeg(fhdeg)表示您正在调用名为celdeg的方法,并传递名为fhdeg的参数。因为没有名为celdeg()的方法,您会收到此错误。

不过,通过问题的陈述,我想您不需要创建这种方法。取而代之的是,您只需要在华氏温度范围内进行迭代,并以摄氏度显示等效值即可。您的for循环可能是这样的:

public static void main(String[] args) {
    System.out.println("Temperature Conversion Table");
    System.out.println("____________________________");
    System.out.println("  Fahrenheit      Celsius  ");

    // From 94F to 104F, with increments of 0.5F
    for (double fhdeg = 94.0; fhdeg < 104.5; fhdeg += 0.5) {
        // Calculate degree in Celsius by calling the celsiusFromFahrenheit method
        double celdeg = celsiusFromFahrenheit(fhdeg);
        // Display degrees in Fahrenheit and in Celsius
        System.out.printf( "    %.2f           %.2f\n", fhdeg, celdeg);
    }
}

static double celsiusFromFahrenheit(double fhdeg) {
    return (5. / 9.) * fhdeg - 32;
}

09-26 15:43