package ArrayDemos; /** * StatisticsGenerator.java * * * Created: Tue Apr 10 13:12:20 2001 * * @author Stuart C. Shapiro */ public class StatisticsGenerator { private NGP.Containers.Row _row; private HistogramColumn[] _bars; private NGP.Components.Label _minLabel, _meanLabel, _maxLabel; private int _min=0, _max=0; private float _mean=0F; public StatisticsGenerator (NGP.Containers.Row row, HistogramColumn[] bars){ _row = row; _bars = bars; _minLabel = new NGP.Components.Label(_row, "Min: 0"); _meanLabel = new NGP.Components.Label(_row, "Mean: 0"); _maxLabel = new NGP.Components.Label(_row, "Max: 0"); } public void increment(Bar bar, int dc) { if (dc>0) _min = minimum(); else if (bar.getCount()<_min) _min--; _minLabel.setText("Min: " + _min); _mean += dc*1F/_bars.length; _meanLabel.setText("Mean: " + _mean); if (dc<0) _max = maximum(); else if (bar.getCount()>_max) _max++; _maxLabel.setText("Max: " + _max); } private int minimum(){ int min = _bars[0].getCount(); for (int i=1; i < _bars.length; i++) if (_bars[i].getCount() < min) min = _bars[i].getCount(); return min; } private int maximum(){ int max = _bars[0].getCount(); for (int i=1; i < _bars.length; i++) if (_bars[i].getCount() > max) max = _bars[i].getCount(); return max; } }// StatisticsGenerator