三角形、梯形和圆形的类封装

package AreaAndLength;
class Triangle{
	double sideA,sideB,sideC,area,length;
	boolean isTriangle;
	Triangle(double a,double b,double c){
		sideA=a;
		sideB=b;
		sideC=c;
		if(a+b>c&&a+c>b&&b+c>a){
			isTriangle=true;
		}else{
			isTriangle=false;
		}
	}
	double getLength(){
		if(isTriangle){
			length=sideA+sideB+sideC;
			return length;
		}else{
			System.out.println("不是三角形,不能计算周长!");
			return 0;
		}
	}
	public double getArea(){
		if(isTriangle){
			double p=(sideA+sideB+sideC)/2.0;
			area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
			return area;
		}else{
			System.out.println("不是三角形,不能计算面积");
			return 0;
		}
	}
	public void setSide(double a,double b,double c){
		sideA=a;
		sideB=b;
		sideC=c;
		if(a+b>c&&a+c>b&&b+c>a){
			isTriangle=true;
		}else{
			isTriangle=false;
		}
	}
}
class Lader{
	double above,bottom,height,area;
	Lader(double a,double b,double h){
		above=a;
		bottom=b;
		height=h;
	}
	double getArea(){
		area=(above+bottom)*height/2;
		return area;
	}
}
class Circle{
	double radius,area;
	Circle(double r){
		radius=r;
	}
	double getArea(){
		area=3.14*radius*radius;
		return area;
	}
	double getLength(){
		return 2*3.14*radius;
	}
	void setRadius(double newRadius){
		radius=newRadius;
	}
	double getRadius(){
		return radius;
	}
}
public class AreaAndLength {
	public static void main(String args[]){
		double length,area;
		Circle circle=null;
		Triangle triangle;
		Lader lader;
		circle=new Circle(10);
		triangle=new Triangle(3,4,5);
		lader=new Lader(3,4,10);
		length=circle.getLength();
		System.out.println("圆的周长:"+length);
		area=circle.getArea();
		System.out.println("圆的面积:"+area);
		length=triangle.getLength();
		System.out.println("三角形的周长:"+length);
		area=triangle.getArea();
		System.out.println("三角形的面积:"+area);
		area=lader.getArea();
		System.out.println("梯形的面积:"+area);
		triangle.setSide(12, 34, 1);
		area=triangle.getArea();
		System.out.println("三角形的面积:"+area);
		length=triangle.getLength();
		System.out.println("三角形的周长:"+length);
	}
}


运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值