class Interval {

  // instance variables
  double min;
  double max;

  Interval() {
  } // empty constructor

  Interval(double x,double y) {
    min = x;
    max = y;
  } // constructor that assigns instance variables

  public Interval addint(Interval b) {
    double tempmin = min + b.min;
    double tempmax = max + b.max;
    return (new Interval(tempmin,tempmax));
  } // method addint (add intervals)

  public void print(String mesg) {
    System.out.println(mesg+" ["+min+","+max+"]");
  } // method print (print interval)

} // class Interval


public class returning_interval {

  public static void main(String args[]) {
   
    Interval a = new Interval(1,2); // a = [1,2]
    Interval b = new Interval(3,4); // b = [3,4]

    // add a+b 5 different ways
    // all 5 tests give the same result = [4,6]
    
    // test1
    Interval t1;
    t1 = a.addint(b);
    t1.print("Test1: ");

    // test2
    Interval t2 = a.addint(b);
    t2.print("Test2: ");

    // test3
    Interval t3 = new Interval();
    t3 = a.addint(b);
    t3.print("Test3: ");

    // test4
    Interval t4 = new Interval(0,0);
    t4 = a.addint(b);
    t4.print("Test4: ");

    // test5
    a.addint(b).print("Test5: ");

  } // method main

} // class returning_interval
