1. ホーム
  2. java

[解決済み] double型の戻り値を取得するには?

2022-02-14 07:11:37

質問

double型を返すはずのメソッドを作成し、以下のようなコードを書きました。

private void myMethod()  
{ 
    if(myArrayList.size() >= 2) 
    {
        Double  t = myArrayList.get(myArrayList.size()-1);
        Double  d = myArrayList.get(myArrayList.size()-2); 
        Double result = ( t+ d  ) / 2 ;
        System.out.println("Average is: "+result);
    }
}

void を double に変更し、system.out... の行の直後に return result を追加しましたが、これはエラーになります!!!! このメソッドをどのように変更すれば、doubleの型を返すようになるのか、教えてください。

解決方法は?

要約すると、前の回答はすべて正しいのですが、@dinesh707 が言うように、すべてのメソッド分岐で(例外が発生しない限り)リターンできるようにする必要があるという細かい点が欠けています。また、decision/if ブロックの外側で結果変数を宣言し、メソッドの戻り値が double であることを宣言する必要があります。

ということで、コードは以下のようになります。

private double myMethod() { 
double result=0; 
if(myArrayList.size() >= 2) { 
    double t = myArrayList.get(myArrayList.size()-1); 
    double d = myArrayList.get(myArrayList.size()-2); 
    result = ( t+ d ) / 2 ; 
    System.out.println("Average is: "+result); 
} 
return result; 

}