public class RunningAverage{
private static final int MAX_SCORES = 100;
private double average;
private int count;
private double[] scores;
public RunningAverage() {
count = 0;
average = 0.0;
scores = new double[MAX_SCORES];
}
public void add(double score) {
if (count >= MAX_SCORES)
throw new RuntimeException();
scores[count] = score;
average = ((average * count) + score)/(count+1);
count++;
}
public double getAverage() {
return average;
}
public static void main (String [] args) {
RunningAverage scores = new RunningAverage();
for (int i=0; i<20; i++){
scores.add(i);
System.out.println(scores.getAverage());
}
}
}