问题要求我创建一个类,其中 NumberStatistics
类中有 addNumber(int number)
和 sum()
方法。 addNumber
方法无法存储任何值。
public class NumberStatistics {
private int number;
private int sum;
public NumberStatistics() {
this.sum = 0;
}
public void addNumber(int numbers) {
this.number = numbers;
sum();
}
public int sum() {
this.sum = this.sum + this.number;
return this.sum-this.number;
}
}
主要:
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("sum: " + stats.sum());
}
}
所以我必须return this.sum-this.number;
但是还有其他方法可以达到相同的结果吗?
更新:编辑以修复错误。
最佳答案
我会使用这个实现:
public class NumberStatistics {
private int sum;
public NumberStatistics() {
this.sum = 0;
}
public void addNumber(int number) {
this.sum += number;
}
public int getSum() {
return this.sum;
}
}
虽然这远非基本计算器的理想实现,但它满足要求addNumber 方法无法存储任何值。
如果我们无法存储有关输入数字的任何状态,则唯一的选择是即时计算总和。因此,我还将 sum()
方法重命名为 getSum()
,因为现在它只是返回已知的总和。
关于java - sum() 方法有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43555781/