feat: File processing.

This commit is contained in:
Piotr Dec 2024-07-18 02:51:18 +02:00
parent f0b7096865
commit 2025cca693
Signed by: stawros
GPG key ID: F89F27AD8F881A91
9 changed files with 162 additions and 0 deletions

View file

@ -0,0 +1,25 @@
package eu.ztsh.lfr.model;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.DoubleAdder;
public class YearDataAccumulator {
private final DoubleAdder sum = new DoubleAdder();
private final AtomicInteger counter = new AtomicInteger();
public void add(double value) {
synchronized (this) {
sum.add(value);
counter.incrementAndGet();
}
}
public BigDecimal getAverage() {
return BigDecimal.valueOf(sum.sum()).setScale(2, RoundingMode.HALF_UP)
.divide(BigDecimal.valueOf(counter.get()), RoundingMode.HALF_UP);
}
}