问题描述:
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