我正在使用一个循环针对0至20之间的法氏温度制作一个法氏温度转换表,并且我很难获得返回正确的摄氏温度的方法。到目前为止,该程序将输出正确的摄氏温度到20,但是对于每一个摄氏输出,它将输出0 *摄氏的摄氏度转换。我如何才能在方法的方程式中使用递增的farenheit变量?
到目前为止,这是我的代码:

import java.text.DecimalFormat;

public class CelsiusTemperatureTable
{
   public static void main(String[] args)
   {
      DecimalFormat df = new DecimalFormat("#.0");

      double farenheit = 0;
      double celsius = celsius(farenheit);


      while (farenheit <= 20)
      {

         System.out.println( farenheit + "\t\t" + df.format(celsius));

         farenheit++;
      }
   }

   public static double celsius(double farenheit)
   {
      double temperature = farenheit - 32;
      double temperature1 = temperature * .556;
      return temperature1;
   }
}

最佳答案

您的方法celsius(farenheit)仅被调用一次,
之后,您执行一个循环,增加了Farenheit,但没有再次调用该方法...

您必须在while循环内移动double celsius = celsius(farenheit);

07-28 08:14