编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画 “三角形”、“梯形”和“圆形”。
具体要求如下:
a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回 周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性 用来判断三个属能否构成一个三角形。
b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。
c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
代码如下
package class4图形类的实现;
import java.util.Scanner;
class Trangle//定义一个三角形类
{
double sideA,sideB,sideC,area,length;
boolean boo;
public Trangle(double a,double b,double c)//为什么a,b,c不能同时定义
{
sideA=a;
sideB=b;
sideC=c;
if((sideA+sideB)>=sideC&&(sideA-sideB)<=sideC)
{
boo=true;
}
else
{
boo=false;
}
}
double getLength()
{
this.length=sideA+sideB+sideC;
return length;
}
public double getArea()
{
if(boo)
{
double s=(sideA+sideB+sideC)/2.0;
this.area=Math.sqrt(s*(s-sideA)*(s-sideB)*(s-sideC));
return area;
}
else
{
System.out.println("不是一个三角形,不能计算面积");
return 0;
}
}
public void setABC(double a,double b,double c)
{
sideA=a;
sideB=b;
sideC=c;
if((sideA+sideB)>=sideC&&(sideA-sideB)<=sideC)
{
boo=true;
}
else
{
boo=false;
}
}
//给Trangle类增加3个方法,分别用来返回3个边:sideA、sideB和sideC
public double getsideA(double a)
{
return sideA;
}
public double getsideB(double b)
{
return sideB;
}
public double getsideC(double c)
{
return sideC;
}
}
class Lader//定义一个梯形类
{
double above,bottom,height,area;
Lader(double a,double b,double h)
{
above=a;
bottom=b;
height=h;
}
double getArea()
{
this.area=(above+bottom)*height/2;
return area;
}
}
class Circle//定义一个圆类
{
double radius,area,length;
Circle(double r)
{
radius=r;
}
double getArea()
{
this.area=3.14*radius*radius;
return area;
}
double getLength()
{
this.length=2*3.14*radius;
return length;
}
void setRadius(double newRadius)
{
radius=newRadius;
}
double getRadius()
{
return radius;
}
//让AreaAndLength类中的circle对象调用方法修改半径,然后输出修改后的半径以及
//修改半径后的圆的面积和周长。
double fixRadius()
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入要修改的半径为:");
this.radius=sc.nextDouble();
return radius;
}
}
public class exp_4_14_Again //主类
{
public static void main(String args[])//主函数
{
double length,area;
Circle circle=null;
Trangle trangle;
Lader lader;
Trangle a = new Trangle(3,4,5);//创建对象
length=a.getLength();
System.out.println("三角形的周长:"+length);
area=a.getArea();
System.out.println("三角形的面积:"+area);
Lader b=new Lader(1,2,2);//创建对象
System.out.println("梯形的面积:"+area);
Circle c=new Circle(10);//创建对象
length=c.getLength();
System.out.println("圆的周长:"+length);
area=c.getArea();
System.out.println("圆的面积:"+area);
Trangle d=new Trangle(12,34,1);
area=d.getArea();
System.out.println("三角形的面积:"+area);
length=d.getLength();
System.out.println("三角形的周长:"+length);
//输出三角形三条边
double sideA = 0;
double sideB = 0;
double sideC = 0;
sideA=d.getsideA(sideA);
sideB=d.getsideB(sideB);
sideC=d.getsideC(sideC);
System.out.println("三角形的边长分别为:"+sideA+'\t'+sideB+'\t'+sideC);
//输出修改后的圆半径、周长及面积
double newRadius=0;
double newLength=0;
double newArea=0;
newRadius=c.fixRadius();
System.out.println("修改后圆的半径为:"+newRadius);
newLength=c.getLength();
System.out.println("修改后圆的周长为:"+newLength);
newArea=c.getArea();
System.out.println("修改后圆的面积为:"+newArea);
}
}
运行结果