Java 如何计算getter中返回的值之和?

Java 如何计算getter中返回的值之和?,java,arrays,sum,Java,Arrays,Sum,下面的代码打印出这个 21 48 68 九十六 但我想让它只打印96的总量,怎么打印 公共捐款总额(){ 将System.out.println移出for循环。 您正在打印每个循环的累计总和 for(俱乐部成员c:成员){ 如果(c!=null){ totalContribution+=c.getContribution(); } } 系统输出打印项次(总贡献); 您正在打印每一次迭代,因此您会得到一个多次打印的累积和。若要解决此问题,请将print语句移到for循环之外,它将起作用:)最简单的

下面的代码打印出这个 21 48 68 九十六

但我想让它只打印96的总量,怎么打印

公共捐款总额(){


System.out.println
移出for循环。 您正在打印每个循环的累计总和

for(俱乐部成员c:成员){
如果(c!=null){
totalContribution+=c.getContribution();
}
}
系统输出打印项次(总贡献);

您正在打印每一次迭代,因此您会得到一个多次打印的累积和。若要解决此问题,请将print语句移到
for
循环之外,它将起作用:)

最简单的方法是流式处理列表并计算和

public int totalContribution() {
    return members.stream()
                .mapToInt(ClubMember::getContribution).sum();
}

你能在for循环中用
totalContribution
声明和
return
语句显示更多的代码上下文吗?很好,你做到了。你不应该在return语句后面有任何语句,没有流可以通过它。没有任何流会到达return语句后面的语句,因为流是插入的ide方法将在到达return语句时结束。这是最简单的解决方案。成员是什么?列表还是数组?它是Arraylist
public int totalContribution() {
    return members.stream()
                .mapToInt(ClubMember::getContribution).sum();
}