java语言程序设计与数据结构9_9
java语言程序设计与数据结构第9章第9题
·
题目:
在一个正n边形中,所有边的长度都相同,且所有角的度数都相同(即这个多边形是等边等角的)。设计一个名为ReugularPolygon的类,该类包括:
一个名为n的int类型的私有数据域,定义多边形的边数,默认值为3。
一个名为side的double类型私有数据域,存储边的长度,默认值为1。
一个名为x的double类型私有数据域,定义多边形中点的x坐标,默认值为0。
一个名为y的double类型私有数据域,定义多边形中点的y坐标,默认值为0。
一个创建一个具有默认值的正多边形的无参构造方法。
一个能创建指定边数和边长度、中心在(0,0)的正多边形的构造方法。
一个能创建指定边数和边长度、中心在(x,y)的正多边形的构造方法。
所有数据域的访问器和修改器。
一个返回多边形周长的方法getPerimeter()。
一个返回多边形面积的方法getArea().、
编写一个测试程序,分别使用无参构造、ReugularPolygon(6, 4)、ReugularPolygon(10, 4, 5.6, 7.8)创建三个ReugularPolygon对象。显示每个对象的周长和面积。
ReugularPolygon类:
package problem;
public class ReugularPolygon {
private int n; //正多边形边数
private double side;//正多边形边长
private double x; //正多边形中心坐标x
private double y; //正多边形中心坐标y
//无参构造
public ReugularPolygon() {
this(3, 1, 0, 0);
}
//有参构造
public ReugularPolygon(int n, double side) {
this(n, side, 0, 0);
}
public ReugularPolygon(int n, double side, double x, double y) {
this.n = n;
this.side = side;
this.x = x;
this.y = y;
}
//访问器和修改器
public int getN() {
return n;
}
public void setN(int n) {
this.n = n;
}
public double getSide() {
return side;
}
public void setSide(double side) {
this.side = side;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
//返回周长
public double getPerimeter() {
return n*side;
}
//返回面积
public double getArea() {
return (n*side)/(4*Math.tan(Math.PI/n));
}
}
ReugularPolygonTest类:
package problem;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class ReugularPolygonTest {
@Test
void test() {
ReugularPolygon reugularPolygon1 = new ReugularPolygon();
System.out.println("reugularPolygon1's perimeter is "+reugularPolygon1.getPerimeter());
System.out.println("reugularPolygon1's area is "+reugularPolygon1.getArea());
ReugularPolygon reugularPolygon2 = new ReugularPolygon(6, 4);
System.out.println("reugularPolygon2's perimeter is "+reugularPolygon2.getPerimeter());
System.out.println("reugularPolygon2's area is "+reugularPolygon2.getArea());
ReugularPolygon reugularPolygon3 = new ReugularPolygon(10, 4, 5.6, 7.8);
System.out.println("reugularPolygon3's perimeter is "+reugularPolygon3.getPerimeter());
System.out.println("reugularPolygon3's area is "+reugularPolygon3.getArea());
}
}

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)