Before attempting this project, be sure you have completed all of the reading assignments, hands-on
labs, discussions, and assignments to date.
(25 points) Design a Java class named Polygon that contains:
- A private int data field named numSides that defines the number of sides of the polygon. The default value should be 4.
- A private double data field named sideLength that defines the length of each side. The default value should be 10.0.
- A private double data field named xCoord that defines the x-coordinate of the center of the polygon. The default value should be 0.0.
- A private double data field named yCoord that defines the y-coordinate of the center of the polygon. The default value should be 0.0.
- A private double data field named apothem that defines the apothem of the polygon.
- The default value should 5.0.
- A private double data filed named perimeter that defines the perimeter of the polygon.
- The default value should 20.0.
- A no-argument constructor that creates a Polygon using the default number of sides, default side length, default x- and y-coordinates, and the default apothem.
- A constructor that creates a Polygon using a specified number of sides, side length, x- and y-coordinates and the apothem
- A getArea() method that returns a double value representing the area of the polygon.
- (Note the area of a regular Polygon can be calculated from 1⁄2 * Apothem*Perimeter)
- Getter and setter methods for all data fields
- A toString() method that displays the number of sides, side length, x-coordinate, y-
- coordinate and apothem values in String format
Be sure your code compiles.
Next, write a Java test program, named TestPolygon, to create five different polygons. When
creating the five polygons, create one using the no argument constructor. For the remaining four,
feel free to use any number of sides, side length and x-, and y-coordinates and apothem that are not
equal to the default values and not equal to each other. For each of the five polygons, call all of the
methods and display the results. For example for a Polygon with 3 sides, side length of 2.0 and x-
coordinate and y-coordinates of 1.0, and apothem of 1.0 the following output may result:
toString() results: (numsides=3, sideLength=2.0,
getNumSides() results: 3
getSideLength() results: 2.0
getXCoord() results: 1.0
getYCoord() results: 1.0
getPerimeter() results: 6.0
getArea() results: 3.0
setNumSides(4) results: 4