2016-08-14 17 views
-1

メソッド配列を作成していて、エラーが発生し続ける:doubleをdouble []に​​変換できません。 ここに私のコードです:Javaエラー:doubleをdoubleに変換できません。

public static double[] calculate(double[] number1, double[] number2) 
    { 
     for(int i=0; i<10; i++) 
     { 
      return number1[i] * (6.67e-3)/(number2[i]*number2[i]) 
     } 
    } 

は、私はかなりの配列はループのための私でdoubleに変換されていないはずなので、これは間違っている理由は表示されないのですか?

+2

あなたは...二重の配列を返すされておらず、問題はここに起こることができない、あなたもこれを求め、これと同様のサイト上で何度も回答されているブール – Li357

+0

で作業されていません。エラーメッセージでまだ検索しましたか? –

+0

メソッド内でdoubleの配列を作成し、配列をdouble結果で埋めて、最後に返したいとします。 –

答えて

1

コンパイラエラーの修正を提案する前に、まずプリミティブデータ型と配列の違いを理解する必要があります。

doubleは、primitive data typeです。

arrayは、同じタイプのデータを含むことができるコンテナオブジェクトです。 したがって、doubleとdouble []は同じではありません。

あなたのコードを見ることで、入力配列の値から計算されたdouble値の配列を返したいと思われます。

ここでは、配列の個々の要素に値を割り当てる前に、必要なサイズの配列retを作成する必要があります。最後に、ループ外に配列を返します。

public static double[] calculate(double[] number1, double[] number2) 
{ 
     double[] ret = new double[10]; 
     for(int i=0; i<ret.length; i++) 
     { 
      ret[i] = number1[i] * (6.67e-3)/(number2[i]*number2[i]); 
     } 
     return ret; 
} 
+0

ありがとうございます!私は何をしたのか分かります...必要なサイズが自動的になると思いました。 – anoushajava

関連する問題