5-2 封装一类对象

class Trangle  
{  
   double sideA,sideB,sideC,area,length;
   boolean boo;
   public  Trangle(double a,double b,double c) 
   { 
	   sideA = a;
	   sideB = b;
	   sideC = c ;	   //参数a,b,c分别赋值给sideA,sideB,sideC
     if(sideA+sideB>sideC && sideA+sideC>sideB && sideB+sideC>sideA) //a,b,c构成三角形的条件表达式
     { 
    	 boo = true;//给boo赋值。
     }    
    else
     { 
        boo = false; //给boo赋值。
     }
   }
   double getLength() 
   {   
       return 4*(sideA+sideB+sideC); //方法体,要求计算出length的值并返回 
   }
   public double  getArea() 
   {  
      if(boo)
        { 
          double p=(sideA+sideB+sideC)/2.0f;
          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 ; //参数a,b,c分别赋值给sideA,sideB,sideC
     if(sideA+sideB>sideC && sideA+sideC>sideB && sideB+sideC>sideA) //a,b,c构成三角形的条件表达式
     { 
    	 boo = true; //给boo赋值。
     }    
    else
     { 
    	 boo = false; //给boo赋值。
     }
   }
}
class Lader 
{   
    double above,bottom,height,area; 
    Lader(double a,double b,double h)
    {
       above= a;
        bottom=b;
       height=h ;//方法体,将参数a,b,c分别赋值给above,bottom,height
    }
    double getArea()
    {
    	return (above + bottom) *  height * 1/2;//方法体,,要求计算出area返回
    }
}

class Circle 
{  
    double radius,area;
    Circle(double r)
    { 
        this.radius = r; //方法体
    }
    double getArea() 
    {  
       return 3.14f * radius *radius; //方法体,要求计算出area返回
    }
    double getLength() 
    {  
    	return 2.0f * 3.14f * radius;//getArea方法体的代码,要求计算出length返回
    }
    void setRadius(double newRadius)
    {  
       radius=newRadius;
    }
    double getRadius() 
    { 
        return radius;
    }
}

public class AreaAndLength {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double length,area;
	       Circle circle=null;
	       Trangle trangle;
	       Lader lader;
	       circle = new Circle(5); //创建对象circle
	       trangle  = new Trangle(3,4,5); //创建对象trangle。
	       lader  = new Lader(3,4,5);//创建对象lader
	       length = circle.getLength(); // circle调用方法返回周长并赋值给length
	        System.out.println("圆的周长:"+length); 
	       area = circle.getArea(); // circle调用方法返回面积并赋值给area
	        System.out.println("圆的面积:"+area); 
	       length = trangle.getLength(); // trangle调用方法返回周长并赋值给length
	        System.out.println("三角形的周长:"+length); 
	       area = trangle.getArea(); // trangle调用方法返回面积并赋值给area
	        System.out.println("三角形的面积:"+area); 
	       area = lader.getArea(); // lader调用方法返回面积并赋值给area
	        System.out.println("梯形的面积:"+area); 
	        trangle.setABC(12,34,1); // trangle调用方法设置三个边,要求将三个边修改为12,34,1。
	        area = trangle.getArea(); // trangle调用方法返回面积并赋值给area
	        System.out.println("三角形的面积:"+area); 
	        length = trangle.getLength(); // trangle调用方法返回周长并赋值给length
	        System.out.println("三角形的周长:"+length);
	    }

	}


运行结果:

 

圆的周长:31.400001049041748
圆的面积:78.50000262260437
三角形的周长:48.0
三角形的面积:6.0
梯形的面积:17.5
不是一个三角形,不能计算面积
三角形的面积:0.0
三角形的周长:188.0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值