# Java Notes

# Rainfall Model

      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
    // RainfallStats - Class for keeping the rainfall statistics.
    // Fred Swartz - Nov 29, 2005

    public class RainfallStats {

        //================================================ instance variables
        private int      _numberOfDataPoints;
        private double   _total;

        //======================================================= constructor
        public RainfallStats() {
            _total = 0.0;
            _numberOfDataPoints = 0;
        }

        //============================================================== add
        // Adds a data point to the rain data.
        public void add(double rain) {
            _total += rain;
            _numberOfDataPoints++;
        }

        //========================================================= getNumber
        // Return number of data points.
        public int getNumber() {
            return _numberOfDataPoints;
        }

        //========================================================= getTotal
        // Returns total rainfall.
        public double getTotal() {
            return _total;
        }

        //======================================================= getAverage
        // Returns average rainfall
        public double getAverage() {
            if (_numberOfDataPoints == 0) {
                return 0.0;
            } else {
                return _total / _numberOfDataPoints;
            }
        }

        //======================================================= clear
        // Get rid of all data.
        public void clear() {
            _total = 0.0;
            _numberOfDataPoints = 0;
        }
    }