Source of ItemMinimumDouble.java


  1: //ItemMinimumDouble.java

  3: public class ItemMinimumDouble
  4: {

  6:     public static <TheType extends Number>
  7:     Double tripleAvg
  8:     (
  9:         TheType item1,
 10:         TheType item2,
 11:         TheType item3
 12:     )
 13:     {
 14:         Double tripleSum;

 16:         //tripleSum = item1 + item2 + item3; //Does not compile
 17:         tripleSum = item1.doubleValue() +
 18:                     item1.doubleValue() +
 19:                     item1.doubleValue();

 21:         return tripleSum / 3.0;
 22:     }

 24:     public static void main(String[] args)
 25:     {
 26:         Integer intVal1 = 55;
 27:         Integer intVal2 = 99;
 28:         Integer intVal3 = 66;

 30:         Double doubleVal1 = 14.5;
 31:         Double doubleVal2 = 12.3;
 32:         Double doubleVal3 = 1.75;

 34:         // Try tripleAvg method with Integers
 35:         System.out.println
 36:         (
 37:             "Items: " + intVal1 + " " + intVal2 + " " + intVal3
 38:         );
 39:         System.out.println
 40:         (
 41:             "Avg: " + tripleAvg(intVal1, intVal2, intVal3) + "\n"
 42:         );

 44:         // Try tripleAvg method with Doubles
 45:         System.out.println
 46:         (
 47:             "Items: " + doubleVal1 + " " + doubleVal2 + " " + doubleVal3
 48:         );
 49:         System.out.println
 50:         (
 51:             "Avg: " + tripleAvg(doubleVal1, doubleVal2, doubleVal3) + "\n"
 52:         );
 53:     }
 54: }