Java NoSuchMethodError void vs int
我正在上Java在线课程,但无意中发现了一个错误。我找不到绕过它的路Java NoSuchMethodError void vs int,java,Java,我正在上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++;
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
到
具有返回值。它可以正常运行,但服务器不接受,因为此方法必须具有特定的名称(void)。有什么问题?我迷路了
顺便说一句,我已经做了一些修补,现在似乎可以用了。没有更改任何代码。不确定是什么原因导致它失败…我要去检查它。感谢您的输入。我刚刚在我的Java SE环境中使用了您的代码,我得到了以下信息: 金额:4 总数:11 平均:2.75 嗯,我没发现任何问题,但你是说你在使用服务器吗 此错误:
Exception in thread "main" java.lang.NoSuchMethodError: NumberStatistics.addNumber(I)I
Main.Main(Main.java:8)
据我所知,是因为您的类没有该方法,所以在我的拙见中,我建议您使用所需的void重新编译该类,并刷新服务器(重新启动),您应该看到更改,因为正如我所说,它在我的SE环境中运行良好您没有重新编译
Main
类。如果您使用IDE或构建工具,它将确保需要编译的所有内容都被重新编译。。。。
Exception in thread "main" java.lang.NoSuchMethodError: NumberStatistics.addNumber(I)I