Circle类、Ladder类、Triangle类和程序执行入口文件改进版

问题描述:

1.封装一类三角形对象Triangle,该类对象具有三条边的属性,具有初始化三角形的功能、修改边长的功能、判断三条边能否构成三角形的功能、求周长的功能、求面积的功能。

2.封装一类梯形对象Ladder,该类对象具有上底、下底和高的属性,具有初始化梯形的功能、修改上底、下底和高的功能、求周长的功能、求面积的功能。

3.封装一类圆形对象Circle,该类对象具有半径的属性,具有初始化圆的功能、修改半径的功能、求周长的功能、求面积的功能。

4.将上述三类对象进行测试,即用一个程序执行入口对三类对象进行测试。

代码实现:

package com.slj;

public class Trangle {
	double sideA,sideB,sideC,area,length;
	   boolean boo;
	   public  Trangle(double a,double b,double c) 
	   { 
	     if(a+b>c&&a+c>b&&b+c>a) //a,b,c构成三角形的条件表达式
	     {
	       boo=true;//给boo赋值。
	       sideA=a;
	       sideB=b;
	       sideC=c;
	     }    
	    else
	     { 
	        System.out.println("不能构成三角形!!!");
	        boo=false;
	     }
	   }
	   double getLength() 
	   {   if(boo){
		   length=sideA+sideB+sideC; //方法体,要求计算出length的值并返回 
		   return length;
	   }
	   else{
		   System.out.println("不是一个三角形,不能计算周长");
	          return 0;
	   }
	  }
	   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)
	   { 
	     //参数a,b,c分别赋值给sideA,sideB,sideC
		   if(a+b>c&&a+c>b&&b+c>a) //a,b,c构成三角形的条件表达式
		     {
		       boo=true;//给boo赋值。
		       sideA=a;
		       sideB=b;
		       sideC=c;
		     }    
		    else
		     { 
		        System.out.println("不能构成三角形!!!");
		        boo=false;
		     }
	   }
	}


 

package com.slj;

public class Lader {

	double above,bottom,height,area; 
    Lader(double a,double b,double h)
    {
       //方法体,将参数a,b,c分别赋值给above,bottom,height
    	above=a;
    	bottom=b;
    	height=h;
    }
    double getArea()
    {
       //方法体,,要求计算出area返回
    	area=(above+bottom)*height/2;
    	return area;
    }


}


 

package com.slj;

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


}


 

package com.slj;

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

}


运行结果:

圆的周长:12.56
圆的面积:12.56
三角形的周长:12.0
三角形的面积:6.0
梯形的面积:18.0
不能构成三角形!!!
不是一个三角形,不能计算面积
三角形的面积:0.0
不是一个三角形,不能计算周长
三角形的周长:0.0

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值