
public class pgm06_03_04OverloadedConstructors {

	public static void main(String[] args) {
		Rectangle1 rect1 = new Rectangle1();
		Rectangle2 rect2 = new Rectangle2();
		Rectangle3 rect3 = new Rectangle3(3.0, 4.0);
		//Rectangle3 rect3a = new Rectangle3();			//No-Arg constructor is undefined

		System.out.println("Rectangle 1");
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect1.getLength(), rect1.getWidth(), rect1.area(), rect1.hypoteneuse()
				);
		
		rect1.setLength(3.0);
		rect1.setWidth(4.0);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect1.getLength(), rect1.getWidth(), rect1.area(), rect1.hypoteneuse()
				);

		rect1.setLength(5.67);
		rect1.setWidth(6.78);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect1.getLength(), rect1.getWidth(), rect1.area(), rect1.hypoteneuse()
				);
		
		System.out.println();
		System.out.println("Rectangle 2");
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect2.getLength(), rect2.getWidth(), rect2.area(), rect2.hypoteneuse()
				);
		
		rect2.setLength(3.0);
		rect2.setWidth(4.0);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect2.getLength(), rect2.getWidth(), rect2.area(), rect2.hypoteneuse()
				);

		rect2.setLength(5.67);
		rect2.setWidth(6.78);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect2.getLength(), rect2.getWidth(), rect2.area(), rect2.hypoteneuse()
				);

		System.out.println();
		System.out.println("Rectangle 3");
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect3.getLength(), rect3.getWidth(), rect3.area(), rect3.hypoteneuse()
				);
		
		rect3.setLength(5.0);
		rect3.setWidth(12.0);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect3.getLength(), rect3.getWidth(), rect3.area(), rect3.hypoteneuse()
				);

		rect3.setLength(5.67);
		rect3.setWidth(6.78);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect3.getLength(), rect3.getWidth(), rect3.area(), rect3.hypoteneuse()
				);

		System.out.println();
		System.out.println("Rectangle 4a");
		Rectangle4 rect4a = new Rectangle4();
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect4a.getLength(), rect4a.getWidth(), rect4a.area(), rect4a.hypoteneuse()
				);

		System.out.println();
		System.out.println("Rectangle 4b");
		Rectangle4 rect4b = new Rectangle4(3.0, 4.0);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect4b.getLength(), rect4b.getWidth(), rect4b.area(), rect4b.hypoteneuse()
				);

		System.out.println();
		System.out.println("Rectangle 4c");
		Rectangle4 rect4c = new Rectangle4(5, 12);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect4c.getLength(), rect4c.getWidth(), rect4c.area(), rect4c.hypoteneuse()
				);

		System.out.println();
		System.out.println("Rectangle 4a - modified");
		rect4a.setLength(5.67);
		rect4a.setWidth(6.78);
		System.out.printf("length = %.2f width = %.2f area = %.3f hypoteneuse = %.3f\n",
				rect4a.getLength(), rect4a.getWidth(), rect4a.area(), rect4a.hypoteneuse()
				);
	}

}
