JAVA实验报告二 下载本文

内容发布更新时间 : 2024/5/6 2:45:07星期一 下面是文章的全部内容请认真阅读。

精选文库

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