我刚刚开始学习java,所以我的问题对你们大多数人来说可能很有趣,我正在尝试编写一个程序来计算一系列课程的平均值,由于某些原因,我的累加器没有递增
public void setStudents() {
accumulator=0;
for(int x=0;x<course.length;x++)
{
accumulator =accumulator+ course[x].result;
}
}
public double getAverage () {
average=(double)(accumulator/course.length);
return average;
}
public int getTotal() {
return accumulator;
}
2条答案
按热度按时间kyvafyod1#
如果你看到上面的代码,我刚刚修改了你现有的代码。
您在获取和分配局部变量时犯了一些小错误。
就这样吧
link
,这将指导您scope,global variable, local variables
uxhixvfz2#
我假设它被 Package 在一个类中,这个类有一个名为
accumulator
. 在这种情况下,当类被构造时setStudents
方法,以便正确设置累加器。如果你不打电话给setStudents
方法,或调用getAverage
方法accumulator
字段将被设置为其默认值,即0。这可能就是为什么结果为0的原因。这可以通过调用setStudents
在这个类的构造函数中,或者在调用getAverage
方法。另外,在getAverage
方法,则应该在执行算术之前将其强制转换为double,否则仍会调用整数除法,然后将其强制转换为double。所以这条线应该是