在一个正n边形中,所以边的长度都相同,且所有角的度数都相同(即这个多边形是等边等角的)。
设计一个名为RegularPolygon的类,该类包括:
一个名为int型的私有数据域定义多边形的边数,默认值3。 一个名为side的double型私有数据域存储边的长度,默认值1。
一个名为x的double型私有数据域,它定义多边形中点的x坐标,默认值0。 一个名为y的double型私有数据域,它定义多边形中点的y坐标,默认值0。 一个创建带默认值的正多边形的无参构造方法。
一个能创建带指定边数和边长度、中心在(0,0)的正多边形的构造方法。 一个能创建带指定边数和边长度、中心在(x,y)的正多边形的构造方法。 所有数据域的访问器和修改器。 一个返回多边形周长的方法getPerimeter()。
一个返回多边形面积的方法getArea().计算多边形面积的公式是: 面积=(n*s*s)/(4*tan(p/n)) 画出该类的UML图。实现这个类。编写一个测试程序,分别使用无参构造方法、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;//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(\对象一周长:\ 面积:\
Regularpolygon r2=new Regularpolygon(6,4);
System.out.println(\对象二周长:\面积:\
Regularpolygon r3=new Regularpolygon(10,4,5.6,7.8);
System.out.println(\对象三周长:\面积:\ } }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库java语言程序设计基础篇8.9答案在线全文阅读。
相关推荐: