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

Lab Assignment CS 206 Question You design a class named Triangle. This class nee

ID: 3735591 • Letter: L

Question

Lab Assignment CS 206 Question You design a class named Triangle. This class needs to have following member variables and member methods Member variable vate data field for each side rivate data field for area rivate data field for perimeter vate boolean data field named lid" ublic Triangle0 blic Triangle(double b, double h) (b is the value for one side and h is the value for the height from this side) ethods The accessor and mutator methods for all four data fields method named findArea) that the area of the triangle. public double findArea) method named findPerimeterO that s the perimeter of the triangle. public double findPerimeter) for the above methods, you can choose to either have s or not. method isValidO returns a boolean value. This method checks if the triangle is valid or not. If the triangle is valid, return "true. otherwise, returns false" You need to implement a TriangleDriver class. In this Test class, you need to create two Triangle objects using each constructor. One object is created with sides of 10, 17, and 9. Change the sides value of the object that was created using default constructor. Display both objects' area and perimeter, and if they are valid.

Explanation / Answer

Please find my implementation:

public class Triangle {

   private double side1, side2, side3;

   public Triangle() {

       side1 = 0;

       side2= 0;

       side3 = 0;

   }

   public Triangle(double a, double b, double c) {

       side1 = a;

       side2= b;

       side3 = c;

   }

   public double getSide1() {

       return side1;

   }

   public double getSide2() {

       return side2;

   }

   public double getSide3() {

       return side3;

   }

   public void setSide1(double side1) {

       this.side1 = side1;

   }

   public void setSide2(double side2) {

       this.side2 = side2;

   }

   public void setSide3(double side3) {

       this.side3 = side3;

   }

   // function to check if three sider

   // form a triangle or not

   public boolean isValid()

   {

       // check condition

       if (side1 + side2 <= side3 || side1 + side3 <= side2 || side2 + side3 <= side1)

           return false;

       else

           return true;

   }

   public double findArea() {

       double area = 0;

       if(isValid()) {

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

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

       }

       return area;

   }

   public double findPerimeter() {

       double perimeter = 0;

       if(isValid()) {

           perimeter = side1+side2+side3;

       }

       return perimeter;

   }

}

############

public class TriangleDriver {

  

   public static void main(String[] args) {

      

       Triangle t1 = new Triangle(10, 17, 9);

      

       System.out.println("is valid: "+t1.isValid());

      

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

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

   }

}

/*

Sample run:

is valid: true

Area: 36.0

Perimeter: 36.0

*/