Java:编写一个测试程序,分别使用无参构造方法、RegularPolygon(6,4)和RegularPolygon(10,4,5.6,7.8)创建三个RegularPolygon对象。显示每个对象

(几何:正n边形)在一个正n边形中,所有边的长度都相同,且所有角的度数都相同(即这个多边形是等边等角的)。
设计一个名为RegularPolygon的类,该类包括:
●一个名为n的int型私有数据域定义多边形的边数,默认值为3。
●一个名为side的double型私有数据域存储边的长度,默认值为1。
●一个名为x的double型私有数据域定义多边形中点的x坐标,默认值为0。
●一个名为y的double型私有数据域定义多边形中点的y坐标,默认值为0。
●一个创建带默认值的正多边形的无参构造方法。
●一个能创建带指定边数和边长度、中心在(0,0)的正多边形的构造方法。
●一个能创建带指定边数和边长度、中心在(x,y)的正多边形的构造方法。
●所有数据域的访问器和修改器。
●一个返回多边形周长的方法getPerimeter(。
●一个返回多边形面积的方法getArea()。计算正多边形面积的公式是:(ns^2)/(4tan(PI/n))
编写一个测试程序,分别使用无参构造方法、RegularPolygon(6,4)和RegularPolygon(10,4,5.6,7.8)创建三个RegularPolygon对象。显示每个对象的周长和面积。

代码:
class RegularPolygon{
private int n=3;
private double side=1;
private double x=0;
private double y=0;
//以下为构造方法(要用方法重载)
RegularPolygon(){};
RegularPolygon(int newn,int news){
n=newn;
side=news;
x=0;
y=0;
};
RegularPolygon(int newn,int news,double newx,double newy){
n=newn;
side=news;
x=newx;
y=newy;
};
//以下为所有数据域的访问器与修改器
public void setn(int newn){
n=newn;
};
public void setside(double news){
side=news;
};
public void setx(double newx){
x=newx;
};
public void sety(double newy){
y=newy;
};
public int getn(){
return n;
};
public double getside(){
return side;
};
public double getx(){
return x;
};
public double gety(){
return y;
};
public double getPerimeter(){
return nside;
};
public double getArea(){
double p=3.141592535;
return (n
sideside)/(4Math.tan(p/n));
};
}
public class test{
public static void main(String[] args){
RegularPolygon r1=new RegularPolygon();
System.out.println(“r1的周长=”+r1.getPerimeter()+" r1的面积="+r1.getArea());
RegularPolygon r2=new RegularPolygon(6,4);
System.out.println(“r2的周长=”+r2.getPerimeter()+" r2的面积="+r2.getArea());
RegularPolygon r3=new RegularPolygon(10,4,5.6,7.8);
System.out.println(“r3的周长=”+r3.getPerimeter()+" r3的面积="+r3.getArea());
}
}

此文为原创,转载请注明出处。
如对你有帮助,请给我一个赞!

发布了9 篇原创文章 · 获赞 9 · 访问量 2165

猜你喜欢

转载自blog.csdn.net/grandniu/article/details/105253736