Java类及对象实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安邮电大学

(计算机学院)

课实验报告

实验名称:类与对象

专业名称:计算机科学与技术

班级:计科1405班

学生:高宏伟

学号:04141152

指导教师:霞林

实验日期:2016.9.29

一、实验目的

通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法。

二、实验要求

1.编写一个创建对象和使用对象的方法的程序。

2.编写一个包含类成员和示例成员的程序。

3.编写一个使用Java包的程序。

三、实验容

(一)三角形、梯形和圆形的类封装

✧实验要求:

编写一个Java应用程序,该程序中有3个类:Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:

a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle

类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个

boolean型的属性,该属性用来判断三个属能否构成一个三角形。

b) Lader类具有类型double的上底、下底、高、面积属性,具有返回面积

的功能。

c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、

面积的功能。

✧程序模板:

AreaAndLength.java

class Trangle

{

double sideA,sideB,sideC,area,length;

boolean boo;

public Trangle(double a,double b,double c)

{

this.sideA=a; //【代码1】参数a,b,c分别赋值给sideA,sideB,sideC

this.sideB=b;

this.sideC=c;

if((sideA+sideB)>sideC&&(sideC+sideB)>sideA&&(sideC+sideA)>sideB)

//【代码2】a,b,c构成三角形的条件表达式

{

boo=true;//【代码3】给boo赋值。

}

else

{

boo=false;【代码4】//给boo赋值。

}

}

double getLength()

{

return sideA+sideB+sideC;【代码5】//方法体,要求计算出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)

{

this.sideA=a;

this.sideB=b;

this.sideC=c; //【代码6】参数a,b,c分别赋值给sideA,sideB,sideC

if((sideA+sideB)>sideC&&(sideC+sideB)>sideA&&(sideC+sideA)>sideB

【代码7】) //a,b,c构成三角形的条件表达式

{

boo=true;【代码8】//给boo赋值。

}

else

{

boo=false;【代码9】//给boo赋值。

}

}

}

class Lader

{

double above,bottom,height,area;

Lader(double a,double b,double h)

{

this.above=a;

this.bottom=b;

this.height=h;【代码10】//方法体,将参数a,b,c分别赋值给above,bottom,height

}

double getArea()

{

return (above+bottom)*height/2;【代码11】//方法体,,要求计算出area 返回

}

}

class Circle

{

double radius,area;

Circle(double r){ this.radius=r;【代码12】//方法体}

double getArea(){ return Math.PI*radius*radius;

//【代码13】方法体,要求计算出area返回

}

double getLength(){

return Math.PI*2*radius; //【代码14】getArea方法体的代码,要求计算出length返回}

void setRadius(double newRadius) { radius=newRadius; }

double getRadius(){return radius; }

}

public class AreaAndLength {

public static void main(String args[]){

double length,area;

相关文档
最新文档