Methods 方法错误。方法不能应用于给定的类型。必需:双精度,找到:无参数

Methods 方法错误。方法不能应用于给定的类型。必需:双精度,找到:无参数,methods,static-methods,Methods,Static Methods,我有一个任务,需要我从一个包含重力水平的.txt文件中读取数据,然后用各种方法计算你在每个星球上的体重。第一个方法中似乎存在类型值问题?我不知道。任何建议都将不胜感激 /** * Description for 7.04 Weight project * `* @author (Your Name) * @version (The Date) import java.util.Scanner; import java.io.File;

我有一个任务,需要我从一个包含重力水平的.txt文件中读取数据,然后用各种方法计算你在每个星球上的体重。第一个方法中似乎存在类型值问题?我不知道。任何建议都将不胜感激

  /**
  * Description for 7.04 Weight project
  *
  `* @author (Your Name)
   * @version (The Date)
      import java.util.Scanner;
      import java.io.File;
       import java.io.IOException;

        public class Weight
     {
// write static methods here
// Note: formula for finding weight on a planet:  Earth weight divided by Gravity constant times surface gravity
public static void getGravity(double [] gravity)throws IOException
{
    File fileName = new File("gravity.txt");
    Scanner inFile = new Scanner(fileName);
    int i = 0;
    while(inFile.hasNext())
    {
        gravity[i] = inFile.nextDouble();


    }

}
public static void printResults(String[] name, double gravity[] ,double[] weight)
{
    for (int i = 0; i <=8; i++)
    {
      System.out.printf("  %-7s         %3.1f            %7s", name[i], gravity[i] , weight[i]);
    }
}
public static double[] calcWeight(double [] gravity)
{
    double myWeight = 100.0;
    int i = 0;
    for (i = 0; i <= 8; i++)
    {
        gravity[i] = gravity[i] * myWeight;

    }
    return gravity;





}
public static void main(String[] args)throws IOException
{

    // Extension idea... instead of hard codeing the weight, you may propt the user for input.

    double earthWeight = 100.0; // initalize Earth weight to 100 lbs.

    String[] names = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"};
    double[] gravity = getGravity();                            // static method you write
    double[] weight = calcWeight(earthWeight, gravity);  // static method you write
    printResults(names, gravity, weight);                   // static method you write

} //end main
/**
*7.04重量项目说明
*
`*@author(你的名字)
*@版本(日期)
导入java.util.Scanner;
导入java.io.File;
导入java.io.IOException;
公共类权重
{
//在这里编写静态方法
//注:计算行星重量的公式:地球重量除以重力常数乘以表面重力
公共静态void getGravity(double[]gravity)引发IOException
{
文件名=新文件(“gravity.txt”);
扫描仪内嵌=新扫描仪(文件名);
int i=0;
while(infle.hasNext())
{
重力[i]=infle.nextDouble();
}
}
公共静态void打印结果(字符串[]名称,双重力[],双重量[])
{
对于(int i=0;i这是您的问题:

calcWeight(earthWeight, gravity); //passes two parameters

public static double[] calcWeight(double [] gravity) //takes one paramter

方法调用与方法定义不匹配。

我想这是一个问题,但我还没有解决。我遇到的错误是double[]gravity=getGravity();Line
public static void getGravity(double[]gravity)
接受一个参数,而您正在传递零。我该如何修复它?…将
重力
传递给它。您还想删除
重力=
部分,因为该方法不返回任何内容。另请参阅