题目要求:正n边形类
package 正n边形;
public class Test
{
public static void main(String[] args)
{
RegularPolygon r1 = new RegularPolygon();
RegularPolygon r2 = new RegularPolygon(6, 4);
RegularPolygon r3 = new RegularPolygon(10, 4, 5.6, 7.8);
System.out.println("r1的周长为:" + r1.getPerimeter() + " 面积为:"
+ r1.getArea());
System.out.println("r2的周长为:" + r2.getPerimeter() + " 面积为:"
+ r2.getArea());
System.out.println("r3的周长为:" + r3.getPerimeter() + " 面积为:"
+ r3.getArea());
}
}
class RegularPolygon
{
final double PI = 3.14159;
private int n = 3;
private double side = 1;
private double x = 0;
private double y = 0;
RegularPolygon()
{
}// 默认无参构造
RegularPolygon(int newN, double newSide)// 中心在(0,0)的构造函数
{
n = newN;
side = newSide;
x = 0;
y = 0;
}
RegularPolygon(int newN, double newSide, double newX, double newY)// 任意参数的构造函数
{
n = newN;
side = newSide;
x = newX;
y = newY;
}
void setN(int newN)
{
n = newN;
}
int getN()
{
return n;
}
void setSide(double newSide)
{
side = newSide;
}
double getSide()
{
return side;
}
void setX(double newX)
{
x = newX;
}
double getX()
{
return x;
}
void setY(double newY)
{
y = newY;
}
double getY()
{
return y;
}
double getPerimeter()// 周长
{
return n * side;
}
double getArea()// 面积
{
return (n * side * side) / 4 * Math.tan(PI / n);
}
}