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) 个答案