第 20 行出错:找到必需的"Int"双精度

  • 本文关键字:Int 双精度 出错 java
  • 更新时间 :
  • 英文 :


我在第 20 行有问题,我希望有人能指出我做错了什么的正确方向。 我要做的就是显示摄氏温度以及它们各自的华氏温度。 摄氏度从 0 到 100 递增,华氏度从 32 - 212 递增。 这还远未完成,我知道它仍然是一团糟。 我已经得到了要显示的数据,但它在一列中,而不是它应该在两列中。

感谢您对此的想法和投入。

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package celsiustofarenheittable;
/**
 *
 * @author these
 */
public class CelsiusToFarenheitTable {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        double celsiusToFarenheit,farenheit,celsius = 0;
        celsiusToFarenheit = celsiusToFarenheit(farenheit,celsius);     // HERE!
        System.out.printf("Celsius t Farenheit n", celsius,farenheit);
        {
            for (celsius = 0; celsius <= 100; celsius += 10)
            {
                if (celsius <= 100 )
                    System.out.println(celsius);
            }
                while (farenheit <= 100){ 
                        System.out.println(farenheit * 1.8 + 32);
                        farenheit = farenheit + 10;
            }
            }     
      }    
    public static double celsiusToFarenheit(int celsius)
    {
        double farenheit;
        farenheit = math.round(celsius * 1.8 + 32);
        return farenheit;
    }
}

你真的很接近,从摄氏度到华氏度的实际转换是正确的。

所以你的问题是你正在传递两个doublesfarenheitcelsius到你的方法celsiusToFarenheit(int celsius)从方法声明中可以看出,它只需要int celsius。从这个摄氏度值,您正在转换为华氏度。

例如:

int celsius = 10;
double fahrenheit = celsiusToFarenheit(celsius);

这会产生 50 华氏度,这是预期的

celsiusToFarenheit 方法需要一个integer参数,您在第 20 行中提供了两个double参数。

我的建议是使您的摄氏度变量与方法参数类型(int(匹配,并在第 20 行中仅提供摄氏度变量:

celsiusToFarenheit(celsius)
<</div> div class="one_answers">

有很多不必要的变量和其他你并不真正需要的东西。我已经修改了您的代码,使其尽可能简单,享受:

    public class CelsiusToFarenheitTable {
    public static void main(String[] args) 
    {
    double fahrenheit = 32.0, celsius = 0.0;
    System.out.printf("Celsius t Farenheit n", celsius,fahrenheit);

        for (celsius = 10; celsius <=100; celsius+=10)
        {
            System.out.print(celsius);
            System.out.print("t");
            System.out.println(celsius * 1.8 + 32);
            fahrenheit = fahrenheit + 10;
        }
  }    

}

相关内容

最新更新