java类
编写一个Java程序,该程序中有3个类:Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
(1)Trangle类具有类型为double的三个边(sideA,sideB,sideC),以及周长(length)、面积(area)属性,Trangle类具有返回周长(getLength)、面积(getArea)以及修改三个边(setABC)的功能。另外还有一个boolean型的属性(boo),该属性用来判断三个数是否构成一个三角形。
(2)Lader类具有类型为double的上底(above)、下底(bottom)、高(height)、面积(area)属性,具有返回面积(getArea)的功能。
(3)Circle类具有类型为double的半径(radius)、周长(length)和面积(area)属性,具有返回周长(getLength)、面积(getArea)的功能。
package geometry;
import java.util.*;
public class triangle {
double sideA,sideB,sideC,area,length;
boolean boo;
public triangle(double a,double b,double c)
{
//带参数的构造方法
sideA=a;sideB=b;sideC=c;
setABC(a,b,c);
}
double getLength()
{
//方法体,要求计算出length的值并返回
double length=sideA+sideB+sideC;
return length;
}
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
sideA=a;
sideB=b;
sideC=c;
if(a+b>c && a+c>b && b+c>a && Math.abs(a-b)<c&& Math.abs(a-c)<b && Math.abs(c-b)<a) //a,b,c构成三角形的条件表达式
boo=true;
else
boo=false;
}
}
package geometry;
public class Lader {
double above,bottom,height,area;
Lader(double a,double b,double h)
{
//带参数的构造方法,将参数a,b,h分别赋值给above,bottom,height
above=a;
bottom=b;
height=h;
}
double getArea()
{
//方法体,,要求计算出area返回
area=((above+bottom)*height/2);
return area;
}
}
package geometry;
public class Circle {
double radius,area, length;
Circle(double r)
{
//带参数的构造方法
radius=r;
}
double getArea()
{
//方法体,要求计算出area返回
area=3.14*radius*radius;
return area;
}
double getLength()
{
//getArea方法体的代码,要求计算出length返回
length=2*3.14*radius;
return length;
}
void setRadius(double newRadius)
{
radius=newRadius;
}
double getRadius()
{
return radius;
}
}
测试:
package geometry;
public class task {
public static void main(String args[])
{
double length,area;
double [] a=new double[3];
Circle circle = new Circle(3);
triangle trangle = new triangle(7,8,9);
Lader lader = new Lader(8,9,8);
System.out.println("圆的周长为:"+circle.getLength());
System.out.println("圆的面积为:"+circle.getArea());
System.out.println("三角形的周长为:"+trangle.getLength());
System.out.println("三角形的面积为:"+trangle.getArea());
System.out.println("梯形的面积为:"+lader.getArea());
System.out.println("--------友好的分界线---------");//
a[0]=trangle.getArea();
a[1]=circle.getArea();
a[2]=lader.getArea();
double s=0.0;
for(int i=0;i<3;i++)
s=s+a[i];
System.out.println("三个实例对象的面积为:"+s);
}
}
结果: