Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

IllegalTriangleException Exercise 11.1 defined the Triangle class with three sid

ID: 641620 • Letter: I

Question

IllegalTriangleException Exercise 11.1 defined the Triangle class with three sides. in a triangle,the sum of any two sides is greater the the other side. the Triangle rule must adhere to this rule. create the IllegalTriangleException class and modify the constructor of the triangle class to throw an IllegalTriangleException object if a triangle is created with sides that violate the rule as follows public class Triangle (double side1, double side2, double side3 ) throws IllegalTriangleException { // implement it}

public class Exercise12_05 {

public static void main(String[] args) {

    try {

      TriangleWithException t1 = new TriangleWithException(1.5, 2, 3);

      System.out.println("Perimeter for t1: " + t1.getPerimeter());

      System.out.println("Area for t1: " + t1.getArea());

   

      TriangleWithException t2 = new TriangleWithException(1, 2, 3);

      System.out.println("Perimeter for t2: " + t2.getPerimeter());

      System.out.println("Area for t2: " + t2.getArea());

    }

    catch (IllegalTriangleException ex) {

      System.out.println("Illegal triangle");

      System.out.println("Side1: " + ex.getSide1());

      System.out.println("Side2: " + ex.getSide2());

      System.out.println("Side3: " + ex.getSide3());

    }

}

}

class IllegalTriangleException extends Exception {

private double side1, side2, side3;

public IllegalTriangleException(double side1,

      double side2, double side3, String s) {

     // Write your code

}

public double getSide1() {

    // Write your code

}

public double getSide2() {

    // Write your code;

}

public double getSide3() {

    // Write your code;

}

}

class TriangleWithException extends Object {

double side1, side2, side3;

/** Constructor */

public TriangleWithException(double side1, double side2, double side3)

    throws IllegalTriangleException {

    // Write your code;

}

/** Implement the abstract method findArea in GeometricObject */

public double getArea() {

    double s = (side1 + side2 + side3) / 2;

    return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));

}

/** Implement the abstract method findCircumference in

   * GeometricObject

   **/

public double getPerimeter() {

    return side1 + side2 + side3;

}

@Override

public String toString() {

    // Implement it to return the three sides

    return "Triangle: side1 = " + side1 + " side2 = " + side2 +

      " side3 = " + side3;

}
}

Explanation / Answer

//Exercise12_05.java

public class Exercise12_05
{

   public static void main(String[] args) {

       try
       {
           TriangleWithException t1 = new TriangleWithException(1.5, 1, 3);
           System.out.println("Perimeter for t1: " + t1.getPerimeter());
           System.out.println("Area for t1: " + t1.getArea());
       }

       catch (IllegalTriangleException ex)
       {
           System.out.println();
       }
   }
}


--------------------------------------------------------------------------------

class TriangleWithException extends Object {

   double side1, side2, side3;

   /** Constructor */

   public TriangleWithException(double side1, double side2, double side3)

           throws IllegalTriangleException {

       //call the exception class if any one of the three
       //following conditions are true IllegalTriangleException("Invalid sides")
       if(side1+side2<side3 || side2+side3<side3 ||side1+side3<side2)
           throw new IllegalTriangleException("Invalid sides");

   }

   /** Implement the abstract method findArea in GeometricObject */

   public double getArea() {

       double s = (side1 + side2 + side3) / 2;

       return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));

   }

   /** Implement the abstract method findCircumference in

   * GeometricObject

   **/

   public double getPerimeter() {

       return side1 + side2 + side3;

   }

   @Override

   public String toString() {

       // Implement it to return the three sides

       return "Triangle: side1 = " + side1 + " side2 = " + side2 +

               " side3 = " + side3;

   }
}

------------------------------------------------------------------------------------------

//Exception class defition
//IllegalTriangleException.java
class IllegalTriangleException extends Exception
{
   public IllegalTriangleException(String exception)
   {
       System.out.println(exception);

   }
}


----------------------------------------------------------------------------

Sample output:

Invalid sides

Hope this helps you