2016-01-06 3 views
0

У меня есть ассистент, который требует, чтобы я читал данные с .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 

} // конец класса

ответ

0

Вот ваша проблема:

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

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

Вызов метода не соответствует определению метода.

+0

Я полагаю, что это одна проблема, но я еще не добрался до нее. ошибка, которую я получаю, находится в double [] gravity = getGravity(); Строка –

+0

'public static void getGravity (double [] gravity)' принимает один параметр, и вы проходите ноль. – Draco18s

+0

Как бы это исправить? –

Смежные вопросы