Java编写一个计算各种形状的面积和周长的程序

要求:父类Shape2D为一个抽象类,其中包含计算周长和计算面积两个方法。其他形状圆(Circle),三角形(Triangle)和长方形(Rectangle)均继承自Shape2D类。而Square继承自Rectangle类。编写测试类来计算这些形状的面积。
提示:不同的形状包含的属性应该不同,构造函数应该不同,计算周长和面积的方法也应该不同。
代码如下:
shape父类:

package shape;
/**
 * @usefor learn
 * @author 芳芳
 *
 */
public abstract class Shape2D {
	public abstract double getGirth();//周长
	public abstract double getArea();//面积
	public double getCircumference() {
		// TODO 自动生成的方法存根
		return 0;
	}
}

Circle类:

package shape;

public class circle extends Shape2D {
	
	private double r; //圆的半径

	public   circle(double r) {
        this.r = r;
	}

	@Override
	public double getCircumference() {
		return 2*Math.PI*r;
	}

	@Override
	public double getArea() {
		return Math.PI*r*r;
	}

	@Override
	public double getGirth() {
		return 0;
	}

}

Triangle类:

package shape;
/**
 * Suffer learn
 * @author 芳芳
 *
 */
public class triangle extends Shape2D {
	
	private double a;
	private double b;
	private double c;

	public triangle(double a, double b, double c) {
		this.a=a;
		this.b=b;
		this.c=c;
	}

	@Override
	public double getCircumference() {
		// TODO Auto-generated method stub
		return a+b+c;
	}

	@Override
	public double getArea() {
		// TODO Auto-generated method stub
		double p = (a+b+c)/2.0;
		return Math.sqrt(p*(p-a)*(p-b)*(p-c));
	}

	@Override
	public double getGirth() {
		// TODO 自动生成的方法存根
		return 0;
	}

}

Rectangle类:

package shape;
/**
 * @usefor learn
 * @author 芳芳
 *
 */
public class rectangle extends Shape2D {

	private double  a;
	private double  b;
	
	public rectangle(double a,double b) {
		this.a=a;
		this.b=b;
	}
	
	public double getCircumference() {
		return 2*(a+b);
	}
	public double getArea() {
		return a*b;
	}
	public double getGirth() {
		return 0;
	}


}
***

the test of shape:


package shape;

public class theTestOfShape {

	public static void main(String[] args) {
		rectangle Rectrect=new rectangle(3, 8);
        System.out.println("长为3,宽是8的矩形的周长是: "+Rectrect.getCircumference());
        System.out.println("长为3,宽是8的矩形的面积是: "+Rectrect.getArea());        
        //测试圆形类,求圆形的周长和面积
        circle circle=new circle(9);
        System.out.println("\n半径是9的圆的周长是: "+circle.getCircumference());
        System.out.println("半径是9的圆的面积是: "+circle.getArea());               
        //测试三角形类,求三角形的周长和面积
        triangle triangleTest=new triangle(3,4,5);
        System.out.println("\n边长为3,4,5的三角形的周长是: "+triangleTest.getCircumference());
        System.out.println("边长为3,4,5的三角形的面积是: "+triangleTest.getArea());
	}

}

运行结果如下:
在这里插入图片描述

发布了7 篇原创文章 · 获赞 1 · 访问量 363

猜你喜欢

转载自blog.csdn.net/akie_384/article/details/104092921
今日推荐