【Java】【类和对象实例——正n边形】

题目要求:

对于一个正n边形,设计一个名为RegularPolygon的类,该类包括:

一个名为n的int型私有数据域定义多边形的边数,默认值=3

一个名为side的double型私有数据域存储边的长度,默认值=1

一个名为x的double型私有数据域,定义多边形中点的x坐标,默认值=0

一个名为y的double型私有数据域,定义多边形中点的y坐标,默认值=0

一个创建带指定边数和边长度,中心在(0, 0)的正多边形构造方法

一个创建带指定边数和边长度,中心在(x, y)的正多边形构造方法

所有数据域的访问器和修改器

一个返回多边形周长的方法getPerimeter()

一个返回多边形面积的方法getArea()

测试用例:

分别使用无参构造方法,RegularPolygon(6, 4),RegularPolygon(10, 4, 5.6, 7.8)创建三个RegularPolygon对象,显示每个对象的周长和面积

// **8.9
class RegularPolygon {
	private int n = 3;
	private double side = 1;
	private double x = 0, y = 0;
	final static double PI = 3.1415926;
	// 默认无参构造方法
	public RegularPolygon() {}
	// 指定边数和边长,中心在(0, 0)的构造方法
	public RegularPolygon(int n, double side) {
		this.n = n;
		this.side = side;
	}
	// 指定边数和边长,中心在(x, y)的构造方法
	public RegularPolygon(int n, double side, double x, double y) {
		this.n = n;
		this.side = side;
		this.x = x;
		this.y = y;
	}

        /* 或使用this()构造方法
	private int n;
	private double side;
	private double x, y;
	final static double PI = 3.1415926;
	// 指定边数和边长,中心在(x, y)的构造方法
	public RegularPolygon(int n, double side, double x, double y) {
		this.n = n;
		this.side = side;
		this.x = x;
		this.y = y;
	}
	// 指定边数和边长,中心在(0, 0)的构造方法
	public RegularPolygon(int n, double size) {
		this(n, size, 0, 0);
	}
	// 默认无参构造方法
	public RegularPolygon() {
		this(3, 1, 0, 0);
	}
	*/

	// 所有数据域的访问器
	public int getN() {
		return n;
	}
	public double getSide() {
		return side;
	}
	public double getX() {
		return x;
	}
	public double getY() {
		return y;
	}
	// 所有数据域的修改器
	public void setN(int n) {
		this.n = n;
	}
	public void setSide(double side) {
		this.side = side;
	}
	public void setX(double x) {
		this.x = x;
	}
	public void setY(double y) {
		this.y = y;
	}
	// 返回周长和面积
	public double getPerimeter() {
		return  n * side;
	}
	public double getArea() {
		return n * side * side / (4 * Math.tan(PI / n));
	}
	public void drawPolygon() {
		System.out.println("该" + n + "边形周长为" + getPerimeter() + ", 面积为" + getArea());
	}
}

public class Test {
	public static void main(String args[]) {
		RegularPolygon r1 = new RegularPolygon();
		RegularPolygon r2 = new RegularPolygon(6, 4);
		RegularPolygon r3 = new RegularPolygon(10, 4, 5.6, 7.8);
		r1.drawPolygon();
		r2.drawPolygon();
		r3.drawPolygon();
	}
}

测试结果 :

【Java】【类和对象实例——正n边形】_第1张图片

 

你可能感兴趣的:(Java)