/* T02n02 - Find the minimum and maximum values held within an array. * * Operation counting here is done with the pessimistic philosophy. * * Note that if you do this in an OOP, one additional efficiency concern is * the cost of performing object references and dereferences, as is being * done here to allow both the min and max values to be returned to the * calling routine. */ import java.io.*; public class T02n02 { public static int o = 0; // operation counter public static void minmax (double [] list, int n, MinMax minMax) { double min, max; min = max = list[0]; o++; o++; o++; o++; o++; for (int i=1; i max) max = list[i]; o++; o++; o++; } o++; minMax.setMinValue(min); minMax.setMaxValue(max); } public static void main (String[] args) { double [] list = {1, 2, 4, 3, 5, 6, 8, 7, 9}; double mean; MinMax minMax = new MinMax(); minmax(list, list.length, minMax); System.out.println("min = " + minMax.getMinValue() + ", max = " + minMax.getMaxValue()); System.out.println("n = " + list.length + "; Operation count = " + o + "."); } } class MinMax { private double minimum, maximum; public MinMax () { minimum = Double.POSITIVE_INFINITY; maximum = Double.NEGATIVE_INFINITY; } public MinMax (double minValue, double maxValue) { minimum = minValue; maximum = maxValue; } public double getMinValue () { return minimum; } public double getMaxValue () { return maximum; } public void setMinValue (double newMinValue) { minimum = newMinValue; } public void setMaxValue (double newMaxValue) { maximum = newMaxValue; } }