java - sum() 方法有问题

标签 java class methods sum

问题要求我创建一个类,其中 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/

相关文章:

java - 有没有办法使用 Eclipse 列出某个类的所有 equals() 调用?

java - Firebase简单聊天客户端无法检索值

java - 尝试通过 Lambda : No address associated with hostname 连接到 Atlas

java - 如何使用正在读取的文本文件的值填充 "ragged"数组?

Java-根据用户输入更新类的返回数据

java - 在另一个事件方法中调用一个事件方法

java - 配置 Eclipse Web 项目来测试 Spring/JPA 的理想方法是什么

java - SQL存储过程中多列游标内容的循环插入

Java Applet 使用 Paint 方法时遇到的问题

java - 如何用类似的东西包装方法(以 hibernate 为例)