previous | start | next

File DataSet.java

1 /**
2     This class computes the average of a set of data values.
3 */
4 public class DataSet
5 {
6    /**
7        Constructs an empty data set.
8     */
9    public DataSet()
10    {
11       final int DATA_LENGTH = 100;
12       data = new double[DATA_LENGTH];
13       dataSize = 0;
14    }
15
16    /**
17        Adds a data value to the data set
18       @param x a data value
19     */
20    public void add(double x)
21    {
22       if (dataSize >= data.length)
23       {  
24          // make a new array of twice the size
25          double[] newData = new double[2 * data.length];
26          // copy over all elements from data to newData
27          System.arraycopy(data, 0, newData, 0, data.length);
28          // abandon the old array and store in data
29          // a reference to the new array
30          data = newData;
31       }
32       data[dataSize] = x;
33       dataSize++;
34    }
35
36    /**
37        Gets the average of the added data.
38       @return the average or 0 if no data has been added
39     */
40    public double getAverage()
41    {
42       if (dataSize == 0) return 0;
43       double sum = 0;
44       for (int i = 0; i < dataSize; i++)
45          sum = sum + data[i];
46       return sum / dataSize;
47    }
48
49    private double[] data;
50    private int dataSize;
51 }


previous | start | next