java语言程序设计基础篇8.9答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在一个正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("对象一周长:"+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()); }

}

相关文档
最新文档