1. ホーム
  2. java

[解決済み] メソッド呼び出しが期待される... なぜ?

2022-02-26 11:49:36

質問

こちらのコードでは、テキストファイルの中に置かれた数字を読み込んで、分散を計算しています。ひとつ問題があるとすれば、最後のコード部分 return nSumVar(); メソッドを作成する必要があると書いてありますが、nsumvarはすでに初期化されているので、何が問題なのでしょうか?

public double getVariance()
{
    boolean done = false;
    int nCount = 0;

    for(int i=0; i < maxArr; i++) {
        for(int j = 0; j < maxArr; j++){

            // ------------------------------------------
            // If the array entry is valid then add it to total
            // If not then exit the loops and return the total
            //
            if (a[i][j] != INVALID)
            {
                nVarianceAray[i][j] = a[i][j] - mean;
                nVarianceAray[i][j] *= nVarianceAray[i][j];
                nCount ++;
            }
            else
            {
                done = true;
                break;
            }
        }
        if (done == true) {
            break;
        }
    }

    int nSumVar = 0;
    done = false;

    for (int i=0; i<maxArr; i++)
    {
        for (int j=0; i<maxArr; j++)
        {

            {
                nSumVar += nVarianceAray[i][j];
            }

            {
                done = true;
                break;
            }
        }
        if(done)
            break;
        nSumVar/=nCount;
    }
    return nSumVar();
}}

解決方法は?

上記のコードで getVariance() メソッドはdoubleを返すので ゲッタバランス メソッドは double 値を返すべきです。また、あなたのコードでは nSumVar として宣言されています。 int 変数で、メソッドではありません。 正しい呼び出しは return nSumVar ではなく <ストライク return nSumVar() .