I am trying to solve one problem from Liang’s book I have done most of it but I do not understand the part with the x and y coordinates.I have two classes TestRegularPolygon which is the driver class for RegularPolygon. The formula for the area is not currently correct I will deal with it later. I am using eclipse the code is compiling and running if anyone can give me some idea how to do it I would appreciate it!
(Geometry: n-sided regular polygon) In an n-sided regular polygon all sides
have the same length and all angles have the same degree (i.e., the polygon is
both equilateral and equiangular). Design a class named RegularPolygon that
contains:
- A private int data field named n that defines the number of sides in the polygon
with default value 3. - A private double data field named side that stores the length of the side with
default value 1. - A private double data field named x that defines the x-coordinate of the center
of the polygon with default value 0. - A private double data field named y that defines the y-coordinate of the center
of the polygon with default value 0. - A no-arg constructor that creates a regular polygon with default values.
- A constructor that creates a regular polygon with the specified number of sides
and length of side, centered at (0, 0). - A constructor that creates a regular polygon with the specified number of sides,
length of side, and x-and y-coordinates. - The accessor and mutator methods for all data fields.
- The method getPerimeter() that returns the perimeter of the polygon.
- The method getArea() that returns the area of the polygon. The formula for
computing the area of a regular polygon is
Draw the UML diagram for the class. Implement the class. Write a test program
that creates three RegularPolygon objects, created using the no-arg constructor,
using RegularPolygon(6, 4), and using RegularPolygon(10, 4, 5.6,
7.8). For each object, display its perimeter and area.
public class RegularPolygon
{
private int n; //number of sides of the polygon
private double side; //store the length of the side
private double x; // x coordinate
private double y; //y coordinate
RegularPolygon()
{
n = 3;
side = 1;
x = 0;
y = 0;
}
RegularPolygon(int n, double side)
{
this.n = n;
this.side = side;
x = 0;
y = 0;
}
RegularPolygon(int n, double side, double x, double y)
{
this.n = n;
this.side = side;
this.x = x;
this.y = y;
}
public void setN(int then)
{
n = then;
}
public int getN()
{
return n;
}
public void setSide(double theside)
{
side = theside;
}
public double getSide()
{
return side;
}
public void setX(int thex)
{
x = thex;
}
public double getX()
{
return x;
}
public void setY(int they)
{
y = they;
}
public double getY()
{
return y;
}
public double getPerimeter()
{
return n * side;
}
public double getArea()
{
return (n * side) * 5;
}
}
public class TestRegularPolygon
{
public static void main(String[] args)
{
RegularPolygon mypol = new RegularPolygon(6, 4);
System.out.println("the area is: " + mypol.getArea() + " the perimeter is " + mypol.getPerimeter());
RegularPolygon yourpol = new RegularPolygon(10, 4, 5.6, 7.8);
System.out.println("the area is: " + yourpol.getArea() + " the perimeter is " + yourpol.getPerimeter());
}
}
Why do you need x and y for counting it?
I hope, you can manage the perimeter?
As for x, y, the problem is only psychological here. You have prepared the tools for their setting and getting, but you do not really use them. Image it as is your class will be used later for… drawing the polygon. Then you’ll need these x,y.