class Accumulator { public void add(int x) { int sum = 0; sum = sum + x; } public int sum() { return sum; } }
时间: 2024-04-04 07:09:43 浏览: 117
这个类的实现有问题,因为 `sum` 变量是在 `add` 方法中定义的,所以每次调用 `add` 方法时都会创建一个新的 `sum` 变量,而原来的 `sum` 变量会被销毁,所以无法累加数值。
正确的实现应该是将 `sum` 变量定义为 Accumulator 类的成员变量,这样每次调用 `add` 方法时都可以累加到同一个 `sum` 变量中。修改后的代码如下:
```
class Accumulator {
private int sum = 0;
public void add(int x) {
sum = sum + x;
}
public int sum() {
return sum;
}
}
```
阅读全文