Java 不兼容的类型-找到double[],但应为double

Java 不兼容的类型-找到double[],但应为double,java,Java,我当前遇到此代码的问题: public static double calculategravity(double[] mass, int[] diameter) { double[] gravity = new double[mass.length]; for(int n = 0; n < mass.length; n++) { gravity[n] = (6.67E-11 * mass[n]) / Math.pow((

我当前遇到此代码的问题:

public static double calculategravity(double[] mass, int[] diameter)
  {

      double[] gravity = new double[mass.length];


      for(int n = 0; n < mass.length; n++)
      {
           gravity[n] = (6.67E-11 * mass[n]) / Math.pow((diameter[n] / 2), 2);

      }

      return gravity;

  }

你能帮我一下吗?

计算安全性的返回类型是
double
,但你返回的是一个双数组

根据该方法的参数,返回数组是有意义的:

public static double[] calculategravity(double[] mass, int[] diameter)

您的函数返回类型为双精度,但您试图返回双精度数组的重力,返回类型错误。 您返回的是double而不是double[]

试试这个:

public static double[] calculategravity(double[] mass, int[] diameter) {

  double[] gravity = new double[mass.length];


  for(int n = 0; n < mass.length; n++)
  {
       gravity[n] = (6.67E-11 * mass[n]) / Math.pow((diameter[n] / 2), 2);

  }

  return gravity;
}
公共静态双[]计算孔径(双[]质量,整数[]直径){
double[]重力=新的double[质量长度];
对于(int n=0;n
我该如何返回双数组?@YifeiYan你已经返回了双数组。您只需更改方法的返回类型,如我上面所示。那么我应该如何返回双数组呢?请参阅其他答案
public static double[] calculategravity(double[] mass, int[] diameter) {

  double[] gravity = new double[mass.length];


  for(int n = 0; n < mass.length; n++)
  {
       gravity[n] = (6.67E-11 * mass[n]) / Math.pow((diameter[n] / 2), 2);

  }

  return gravity;
}