0

こんにちは、プログラマーの皆さん!私の「平均」プログラムは、クラス内で静的メソッドを使用すると正常に動作しますが、静的メソッドを置き換えて新しいクラスに入れたい場合、「平均は型で解決できません」というエラーが表示されます。それが何を意味するのか、どのように対処すればよいのかよくわかりません。

ここに私の作業コードがあります:

import java.util.Scanner;

public class pig {
    public static void main(String args[]){
        System.out.println(average(54,5,8,9,1));            

    }
    public static int average(int...numbers){
        int total = 0;

        for (int x: numbers){
            total +=x;


        }
        return total/numbers.length;
    }
}  

インスタンスを使用すると、次のようになります。

import java.util.Scanner;

public class pig {
    public static void main(String args[]){
        average avgObj = new average();
        System.out.println(avgObj.averages(54,5,8,9,1));


    }
}

このメインが呼び出しているクラスは次のようになります。

 public class average {
      public int averages(int...numbers){
            int total = 0;

            for (int x: numbers){
                total +=x;
                System.out.println(x);
            }
            return total/numbers.length;
       }
}

前もって感謝します!

4

4 に答える 4

0

main メソッドを含むクラスに平均クラスをインポートする必要があります。

import XXXX.average;

public class pig {
于 2013-10-31T06:52:25.840 に答える
0

averageクラスにクラスの import ステートメントを追加する必要がありますpig

import your.pack.average;
import java.util.Scanner;

public class pig {
于 2013-10-31T06:52:41.657 に答える
0

average を非 public クラスに変更し、pig.java の下部に書き込みます。

これが機能する場合は、実行中のコマンドが間違っていることを意味します。

于 2013-10-31T06:53:14.450 に答える
0

averageこれは、コンパイラがクラスを見つけられないためです。したがって、これを解決するには、クラスをインポートする必要があります。pig関数がクラス内にあったため、静的の場合は機能していました。

import java.util.Scanner;
import your-pack.average;

public class pig {
    public static void main(String args[]){
      average avgObj = new average();
      System.out.println(avgObj.averages(54,5,8,9,1));
    }
}

詳細については、パッケージ メンバーの使用を参照してください。

于 2013-10-31T06:54:59.573 に答える