P24 三角形,圆形和梯形的类封装 代码补完
另:别人做2分钟就做完,而我要做2天还要去问别人,实在有够纱布的,快赶上FL那个纱布达人了,不过还算学到东西了,又向SCJP迈了一步了 :)
AreaAndLength.java
- class Trangle
- {
- double sideA,sideB,sideC,area,length;
- boolean boo;
- public Trangle(double a,double b,double c)
- {
- sideA=a;sideB=b;sideC=c;
- if(a+b>c&&b+c>a&&c+a>b)
- {
- boo=true;
- }
- else
- boo=false;
- }
- double getLength()
- {
- return sideA+sideB+sideC;
- }
- public double getArea()
- {
- if(boo)
- {
- 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 setABC(double a,double b,double c)
- {
- sideA=a;sideB=b;sideC=c;
- if(a+b>c&&b+c>a&&c+a>b)
- {
- boo=true;
- }
- else
- {
- boo=false;
- }
- }
- }
- class Lader
- {
- double above,bottom,height,area;
- Lader(double a,double b,double h)
- {
- above=a;bottom=b;height=h;
- }
- double getArea()
- {
- return (above+bottom)*height/2;
- }
- }
- class Circle
- {
- double radius,area;
- Circle(double r)
- {
- radius=r;
- }
- double getArea()
- {
- return 3.14*radius*radius;
- }
- 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;
- Trangle trangle;
- Lader lader;
- Circle a=new Circle(1.0);
- Trangle b=new Trangle(3.0,4.0,5.0);
- Lader c=new Lader(3.0,5.0,2.0);
- length=a.getLength();
- System.out.println("圆的周长:"+length);
- area=a.getArea();
- System.out.println("圆的面积:"+area);
- length=b.getLength();
- System.out.println("三角形的周长:"+length);
- area=b.getArea();
- System.out.println("三角形的面积:"+area);
- area=c.getArea();
- System.out.println("梯形的面积:"+area);
- b.setABC(12, 34, 1);
- area=b.getArea();
- System.out.println("三角形的面积:"+area);
- length=b.getLength();
- System.out.println("三角形的周长:"+length);
- }
- }