public class Rectangle
{
   private double length;
   private double width;

   /**
      Constructor
      @param len The length of the rectangle.
      @param w The width of the rectangle.
   */

   public Rectangle(double len, double w)
   {
      this.length = len;
      this.width = w;
   }
   /**
      Copy constructor - creates this rectangle as a 
      duplicate of other rectangle
      @param len The length of the rectangle.
      @param w The width of the rectangle.
   */

   public Rectangle(Rectangle other)
   {
      this.length = other.length;
      this.width = other.width;
   }
   
   /**
      "Factory" method...creates a box object
      @param len The length of the rectangle.
      @param w The width of the rectangle.
   */

   public static Rectangle makeRectangle(double len, double w)
   {
      return new Rectangle(len, w);
   }
   
   /**
      The setLength method stores a value in the
      length field.
      @param len The value to store in length.
   */

   public void setLength(double len)
   {
      this.length = len;
   }

   /**
      The setWidth method stores a value in the
      width field.
      @param w The value to store in width.
   */

   public void setWidth(double w)
   {
        this.width = w;
   }

   /**
      The getLength method returns a Rectangle
      object's length.
      @return The value in the length field.
   */

   public double getLength()
   {
      return this.length;
   }

   /**
      The getWidth method returns a Rectangle
      object's width.
      @return The value in the width field.
   */
   
   public double getWidth()
   {
      return this.width;
   }

   /**
      The getArea method returns a Rectangle
      object's area.
      @return The product of length times width.
   */

   public double getArea()
   {
      return this.length * this.width;
   }
   
   /**
      The toString method returns a description
      of this rectangle.
      @return The length and width of the rectangle.
   */

   public String toString()
   {
      return "Length : " + this.getLength() +
       " Width : " + this.getWidth();
   }
}
