feat: File processing.
This commit is contained in:
parent
f0b7096865
commit
2025cca693
9 changed files with 162 additions and 0 deletions
25
src/main/java/eu/ztsh/lfr/model/YearDataAccumulator.java
Normal file
25
src/main/java/eu/ztsh/lfr/model/YearDataAccumulator.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue