【发布时间】:2020-10-10 18:56:11
【问题描述】:
我的任务是创建一个类来对一系列数字进行计数、求和和平均。 AverageCalculator 类的规范是:
用于平均计算器的运行总和的 int 类型的实例变量
int 类型的实例变量,用于计算已提供给 AverageCalculator 的数字
无参数构造函数:AverageCalculator()
将数字添加到 AverageCalculator 的 mutator 方法:void add(int newNum)
一个访问器方法,用于返回添加到 AverageCalculator 的所有数字的总和:int getSum()
返回添加到 AverageCalculator 中的数字的计数或数量的访问器方法:int getCount()
一个访问器方法,用于返回添加到 AverageCalculator 中的所有数字的平均值 - 请注意,实例变量是 int,返回类型是 double,如果没有向对象添加数字,则返回 0:double getAverage()
编写一个包含 main 方法并执行以下操作的类 AverageCalculatorMain:
- 创建一个AverageCalculator 对象,在AverageCalculator 之外加一个数字,打印总和、计数和平均值
- 创建另一个AverageCalculator 对象。将三个数字相加,打印总和、计数和平均值
这是我目前所拥有的:
public class AverageCalculator {
private int sum;
private int count;
public AverageCalculator() {
sum = 0;
count = 0;
}
public void add(int newNum) {
this.sum = this.sum + newNum;
count++;
}
int getSum() {
return sum;
}
int getCount() {
return count;
}
double getAverage() {
return sum / count;
}
}
这就是我的主要方法:
public class AverageCalculatorMain {
public static void main(String[] args) {
AverageCalculator average = new AverageCalculator(90);
System.out.println("The sum is " + average.getSum() + "\nThe count is " + average.getCount() + "\nThe average is " + average.getAverage());
}
}
但是,当我尝试创建新对象 (AverageCalculator average = new AverageCalculator(90);) 时,出现一个错误,提示它未定义。如何创建此对象并成功传递其值?
【问题讨论】:
-
该错误意味着您需要定义一个接受
int参数的构造函数。或者您可以使用默认构造函数。旁白 - 因为您使用整数除法(例如 5/3 -> 1),您可能会得到不准确的平均值计算。 -
如何通过整数除法产生双精度数?
-
忽略添加另一个构造函数的建议,这不是此分配所必需的。只需删除参数,然后在对象上调用
add,如下所示:average.add(90)。
标签: java eclipse oop accessor mutators