第九章作业

**9.10
(几何:正n 边形)在一个正; 《 边形中,所有边的长度都相同,且所有角的度数都相同(即这个多 边形是等边等角的)。设计一个名为 ReguUrPolygon的类,该类包括:
• 一个名为 n的int 型私有数据域定义多边形的边数,狀认值为 3。
• 一个名为 side的 double 型私有数据域存储边的长度,默认值为1。
• 一个名为 x 的 double 型私有数据域定义多边形中点的; c 坐标,默认值为 0。
• 一个名为 y 的 double 型私有数据域定义多边形中点的>> 坐标,默认值为 0。 • 一个创建带畎认值的正多边形的无参构造方法。
• 一个能创建带指定边数和边长度、中心在(0, 0)的正多边形的构造方法。
• 一个能创建带指定边数和边长度、中心在(X«y)的正多边形的构造方法。
• 所有数据域的访问器和修改器。
• — 个返回多边形周长的方法 getPerimeterO。
• 一个返回多边形面积的方法 getAreaO。计算正多边形面积的公式是:
画出该类的UML图并实现这个类。编写一个测试程序,分别使用无参构造方法、 RegularPo1ygon(6,4)和 RegularPolygon(10,4,5_6,7_8)创建三个 RegularPolygon 对象。
308 ^9t
显示每个对象的周长和面积。

package Regularpolygon;

public class Regularpolygon {
		
			private int n=3;//边长
			private double side=1;//边长
			private double x=0;
			private double y=0;//x,y为 多边形中点的x,,y坐标
	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 n*side;
			}
			public double getArea(){
				return (n* side* side)/(4*Math.tan(getPerimeter()/n));
				}
			public class XiTi89 {
			public static void main(String[] args) {
				Regularpolygon r1=new Regularpolygon();
				System.out.println(r1);
				System. out.println("对象一周 长: "+r1.getPerimeter()+" 面 积: "+r1.getArea());
				
				Regularpolygon r2=new Regularpolygon(6,4);
				System.out.println("对象二周长:  "+r2.getPerimeter()+"面积:  "+r2.getArea());
				Regularpolygon r3=new Regularpolygon(10,4,5.6,7.8);
				System.out.println("对象三周长:  "+r3.getPerimeter()+"面积:  "+r3.getArea());

	}

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值