2012-11-01 37 views
-1

我是一名初学者,刚刚接触到静态方法,因此他们对我来说有点困惑,仍然是因为奇怪的控制流。这里是什么导致错误?获取不兼容类型的错误,我找不到问题

import java.util.Scanner; 
import java.io.File; 
import java.io.IOException; 
public class GravityV1 
{ 
public static double gravityCalculation(double[] planetMass, int[] planetDiameter) 
{ 
    double universalGravityConst = 6.67E-11; 
    double [] surfaceGravity = new double [planetMass.length]; 
    for(int i = 0; i < planetMass.length; i++) 
     surfaceGravity[i] = ((universalGravityConst * planetMass[i])/(Math.pow(planetDiameter[i]/2, 2))); 
    return surfaceGravity; 
} 


public static void main(String [] args) throws IOException 
{ 
    String [] planets = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"}; 
    double [] mass = {3.3022E23, 4.8685E24, 5.97E24, 6.4185E23, 1.8986E27, 5.6846E26, 8.6810E25, 10.243E25}; 
    int [] diameter = {4879, 12104, 12576, 6792, 142984, 120536, 51118, 49528}; 

    double [] gravities = gravityCalculation(mass, diameter); 
} 

}

+0

什么是确切的错误信息? – bmargulies

回答

1
double [] gravities = gravityCalculation(mass, diameter); 

您gravityCalculation(质量,直径);返回一个double基元,并将其分配给一个double []数组,从而产生错误。

更改

public static double gravityCalculation(double[] planetMass, int[] planetDiameter) 
    to 
public static double[] gravityCalculation(double[] planetMass, int[] planetDiameter)