JAVA大学实用教程实验指导4.2.1答案

P24      三角形,圆形和梯形的类封装       代码补完      

 

另:别人做2分钟就做完,而我要做2天还要去问别人,实在有够纱布的,快赶上FL那个纱布达人了,不过还算学到东西了,又向SCJP迈了一步了    :)

 

 

 

AreaAndLength.java

 

  1. class Trangle
  2. {
  3.     double sideA,sideB,sideC,area,length;
  4.     boolean boo;
  5.     public Trangle(double a,double b,double c)
  6.     {
  7.         sideA=a;sideB=b;sideC=c;
  8.         if(a+b>c&&b+c>a&&c+a>b)
  9.         {
  10.             boo=true;
  11.         }
  12.         else
  13.             boo=false;
  14.     }
  15.     double getLength()
  16.     {
  17.         return sideA+sideB+sideC;
  18.     }
  19.     public double getArea()
  20.     {
  21.         if(boo)
  22.         {
  23.             double p=(sideA+sideB+sideC)/2.0;
  24.             area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
  25.             return area;
  26.         }
  27.         else
  28.         {
  29.             System.out.println("不是一个三角形,不能计算面积");
  30.             return 0;
  31.         }
  32.     }
  33.     public void setABC(double a,double b,double c)
  34.     {
  35.         sideA=a;sideB=b;sideC=c;
  36.         if(a+b>c&&b+c>a&&c+a>b)
  37.         {
  38.             boo=true;
  39.         }
  40.         else
  41.         {
  42.             boo=false;
  43.         }
  44.     }
  45. }
  46. class Lader
  47. {
  48.     double above,bottom,height,area;
  49.     Lader(double a,double b,double h)
  50.     {
  51.         above=a;bottom=b;height=h;
  52.     }
  53.     double getArea()
  54.     {
  55.         return (above+bottom)*height/2;
  56.     }
  57. }
  58. class Circle
  59. {
  60.     double radius,area;
  61.     Circle(double r)
  62.     {
  63.         radius=r;
  64.     }
  65.     double getArea()
  66.     {
  67.         return 3.14*radius*radius;
  68.     }
  69.     double getLength()
  70.     {
  71.         return 2*3.14*radius;
  72.     }
  73.     void setRadius(double newRadius)
  74.     {
  75.         radius=newRadius;
  76.     }
  77.     double getRadius()
  78.     {
  79.         return radius;
  80.     }
  81. }
  82. public class AreaAndLength
  83. {
  84.     public static void main(String args[])
  85.     {
  86.         double length,area;
  87.         Circle circle=null;
  88.         Trangle trangle;
  89.         Lader lader;
  90.         Circle a=new Circle(1.0);
  91.         Trangle b=new Trangle(3.0,4.0,5.0);
  92.         Lader c=new Lader(3.0,5.0,2.0);
  93.         length=a.getLength();
  94.         System.out.println("圆的周长:"+length);
  95.         area=a.getArea();
  96.         System.out.println("圆的面积:"+area);
  97.         length=b.getLength();
  98.         System.out.println("三角形的周长:"+length);
  99.         area=b.getArea();
  100.         System.out.println("三角形的面积:"+area);
  101.         area=c.getArea();
  102.         System.out.println("梯形的面积:"+area);
  103.         b.setABC(12341);
  104.         area=b.getArea();
  105.         System.out.println("三角形的面积:"+area);
  106.         length=b.getLength();
  107.         System.out.println("三角形的周长:"+length);
  108.     }
  109. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值