有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java NoSuchMethodError void vs int

我正在学习关于http://mooc.cs.helsinki.fi/的在线Java课程,无意中发现了一个错误。我找不到绕过它的方法

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)。有什么问题吗?我迷路了

顺便说一句,我已经做了一些修补,现在似乎可以用了。没有更改任何代码。不确定是什么导致它失败。。。我去检查一下。谢谢你的意见


共 (0) 个答案