0

これにはコマンドライン引数を使用しています:

public class Pg253E4 {
    public static void main(String[]args) {
        try {
            System.out.println(Average.average(args)); // This part is saying I don't have a method in Average called average(String[] argName)
        } catch(NullPointerException e) {
            System.out.println(e.toString());
        } catch(NumberFormatException e) {
            System.out.println(e.toString());
        } finally {
            System.out.println("Nice job");
        }
    }
}

そして、これは他のクラスです:

public class Average {
    public static double average(String[] arrayString) throws NullPointerException,NumberFormatException {
        double sum=0;
        double arrayStorage[] = new double[arrayString.length];

        for(int i = 0; i< arrayString.length; i++) {
            arrayStorage[i] = Double.parseDouble(arrayString[i]);
        }
        for(int i = 0; i<arrayString.length; i++) {
            sum += arrayStorage[i];
        }
        return (sum/arrayString.length);
    }
}

クラスで呼び出さaverage(String[] argName)れたメソッドを宣言または定義していないという構文エラーが表示される理由がわかりません。Average

4

2 に答える 2

1

Averageメイン クラスでそのタイプの新しいオブジェクトを作成してみてください。これを行うには、メイン メソッドに次の行を記述します。
Average a = new Average();

そして、あなたSystem.out.println(Average.average(args))のを変更します
System.out.println(a.average(args))

于 2013-06-30T23:44:04.437 に答える
0

パッケージを使用していない場合は、クラスAverageにインポートされていることを確認する必要があります。Pg253E4

import Average; // Assuming "Average" is not in a package.

public class Pg253E4
{
    // The rest of your stuff
}

ただし、少なくとも 1 つのパッケージを使用するのがおそらく最善です。

package yourpackage;

public class Pg253E4
{
    // The rest of your stuff
}

package yourpackage;

public class Average
{
    // The rest of your stuff
}

Pg253E4とが同じパッケージに入れるのに十分な共通点がない場合Averageは、両方を独自のパッケージに入れる必要があります。その場合、再度インポートAverageする必要があります。Pg253E4

package yourfirstpackage;

import yoursecondpackage.Average;

public class Pg253E4
{
    // The rest of your stuff
}

package yoursecondpackage;

public class Average
{
    // The rest of your stuff
}
于 2013-06-30T23:48:52.413 に答える