内容发布更新时间 : 2024/11/14 12:04:01星期一 下面是文章的全部内容请认真阅读。
精选文库
2. 使用类来封装对象的属性和功能编写一个Java程序,该程序中有3个类:
Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
Trangle类具有类型为double的三个边(sideA,sideB,sideC),以及周长(length)、面积(area)属性,Trangle类具有返回周长(getLength)、面积(getArea)以及修改三个边(setABC)的功能。另外还有一个boolean型的属性(boo),该属性用来判断三个数是否构成一个三角形。
Lader类具有类型为double的上底(above)、下底(bottom)、高(height)、面积(area)属性,具有返回面积(getArea)的功能。
Circle类具有类型为double的半径(radius)、周长(length)和面积(area)属性,具有返回周长(getLength)、面积(getArea)的功能。 把程序中的代码补充完整,并查看结果。
//import javax.swing.text.TabableView;
class Trangle {
double sideA,sideB,sideC,area,length; boolean boo;
public Trangle(double a,double b,double c) { setABC(a,b,c);//带参数的构造方法 }
double getLength() { if(boo) {
return sideA+sideB+sideC; } else {
System.out.println(\不是一个三角形,不能计算周长\); return 0;
—
6
} }
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) //a,b,c构成三角形的条件表达式 {
//给boo赋值。【补充代码】 boo=true; } else {
//给boo赋值。 【补充代码】 boo=false; } } }
class Lader {
—
精选文库
7
精选文库
double above,bottom,height,area; Lader(double a,double b,double h) {
//带参数的构造方法,将参数a,b,h分别赋值给above,bottom,height 【补充代码…】 this.above=a; this.bottom=b; this.height=h; }
double getArea() {
//方法体,,要求计算出area返回 //
【补充代码…】
return 0.5*(above+bottom)*height; } }
class Circle {
double radius,area, length; Circle(double r) {
//带参数的构造方法 【补充代码 this.radius=r; }
double getArea() {
//方法体,要求计算出area返回【补充代码…】 return Math.PI*radius*radius; }
double getLength() {
//getArea方法体的代码,要求计算出length返回【补充代码…】 return 2*Math.PI*radius; }
void setRadius(double newRadius) {
—
8
radius=newRadius; }
double getRadius() {
return radius; } }
public class AreaAndLength {
public static void main(String args[]) {
double length,area; Circle circle = null; Trangle trangle = null; Lader lader = null;
//创建对象circle(半径为5)【补充代码】 circle=new Circle(5);
//创建对象trangle(边长分别为3,4,5) 【补充代码】 trangle=new Trangle(3,4,5); //创建对象lader【补充代码】 lader=new Lader(3,4,5);
// circle调用方法返回周长并赋值给length 【补充代码】 length=circle.getLength();
System.out.println(\圆的周长:\+length); // circle调用方法返回面积并赋值给area 【补充代码】 area=circle.getArea();
System.out.println(\圆的面积:\+area);
// trangle调用方法返回周长并赋值给length 【补充代码】 length=trangle.getLength();
System.out.println(\三角形的周长:\+length); // trangle调用方法返回面积并赋值给area【补充代码】 area=trangle.getArea();
System.out.println(\三角形的面积:\+area);
—
精选文库
9
精选文库
// lader调用方法返回面积并赋值给area 【补充代码】 area=lader.getArea();
System.out.println(\梯形的面积:\+area);
// trangle调用方法设置三个边,要求将三个边修改为12,34,1。 【补充代码】 trangle.setABC(12,34,1);
// trangle调用方法返回面积并赋值给area【补充代码】 area=trangle.getArea();
System.out.println(\三角形的面积:\+area); // trangle调用方法返回周长并赋值给length 【补充代码】 length=trangle.getLength();
System.out.println(\三角形的周长:\+length); } }
运行结果:
圆的周长:31.41592653589793 圆的面积:78.53981633974483 三角形的周长:12.0 三角形的面积:6.0 梯形的面积:17.5
不是一个三角形,不能计算面积 三角形的面积:0.0
不是一个三角形,不能计算周长 三角形的周长:0.0
—
10