2014-11-24 44 views
-1

我目前遇到了這個代碼的問題:不兼容的類型 - 發現雙[],但預計雙

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; 

    } 

每當我試着編譯它,出現以下錯誤:

Incompatible types - found double[] but expected double 

燦你幫助我嗎?

回答

0

返回類型calculategravitydouble但您返回的是雙數組。

基於該方法的參數,是有意義的返回數組:

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

所以我應該怎麼返回一個雙數組? – 2014-11-24 20:33:02

+0

@YifeiYan你已經返回一個double數組。正如我上面所顯示的那樣,你只需要改變方法的返回類型。 – Eran 2014-11-24 20:34:08

0

你的函數返回類型爲double,但你試圖返回gravity這是雙打的陣列

+0

那麼應該如何返回一個double數組? – 2014-11-24 20:33:17

+0

查看其他答案 – 2014-11-24 20:33:51

0

你有錯誤的返回類型。 您正在退貨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; 
} 
相關問題