2017-03-11 10 views
-2

私はhttp://mooc.cs.helsinki.fi/のオンラインJavaコースを行っていて、エラーが発生しました。その周りに私の道を見つけることができません。NoSuchMethodError void vs int

public class NumberStatistics { 

    private int count; 
    private int sum; 
    public NumberStatistics(){ 
     this.count=0; 
     this.sum=0; 
    } 
    public void addNumber(int number){ 
     this.count++; 
     this.sum+=number; 
    } 
    public int amountOfNumbers(){ 
     return this.count; 
    } 
    public int sum(){ 
     return this.sum; 
    } 
    public double average(){ 
     if(this.count==0||this.sum==0){ 
      return 0; 
     } 
     return (double)this.sum/this.count; 
    } 
} 

と私はそれを実行しようとすると、これはメインファイル

public class Main { 
    public static void main(String[] args) { 

     NumberStatistics stats = new NumberStatistics(); 

     stats.addNumber(3); 
     stats.addNumber(5); 
     stats.addNumber(1); 
     stats.addNumber(2); 
     System.out.println("Amount: " + stats.amountOfNumbers()); 
     System.out.println("sum: " + stats.sum()); 
     System.out.println("average: " + stats.average()); 
    } 
} 

あり、それは私が変更した場合はエラー

Exception in thread "main" java.lang.NoSuchMethodError: NumberStatistics.addNumber(I)I 
at Main.main(Main.java:8) 

が付属しています

public void addNumber 

public int addNumber 

戻り値。このメソッドは特定の名前(void)を持たなければならないため、サーバーは正常に処理されますが、サーバーでは受け入れられません。何が問題ですか?道に迷いました。

P.S.私はちょっと手を加えたし、今働いているようだ。コードを変更しませんでした。それが何を失敗させたのか分からない...それを調べようとする。あなたのご意見ありがとうございます。

+2

'Main'クラスを再コンパイルしていません。 IDEまたはビルドツールを使用する場合、コンパイルが必要なものはすべて再コンパイルされます。 –

+0

NetBeans 8.2 – Aleks

+2

を使用してプロジェクトをクリーンアップします。 –

答えて

-1

私はちょうど私はこの得た私のJava SE環境には、あなたのコードを使用:

量:4 合計:11 平均:2.75

さて、私はすべての問題を参照してください、しかし、あなたをしたしませんでしたがあなたはサーバーを使っていると言っていますか?

このエラー:クラスがそのメソッドを持っているdosn'tのでMain.mainで

Exception in thread "main" java.lang.NoSuchMethodError: NumberStatistics.addNumber(I)I 

(Main.java:8)

は、私が知っているようですので、私の愚見では私がお勧めあなたが望むvoidを使ってクラスをもう一度コンパイルし、サーバをリフレッシュ(再起動)してください。私のSE環境でうまくいきましたので、変更が表示されます。

関連する問題