《面向对象程序设计》实验指导书 下载本文

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

《面向对象程序设计》

实验指导书

郭玉柱

广东商学院信息学院 二0一0 年 十二 月

目 录

实验一 Java基础实验

实验二 Java面向对象特性试验--Java中的类、对象和方法 实验三 类的继承、多态、接口、访问控制符与修饰符 实验四 Java实验五 Java 实验六 实验七 实验八 Java Applet

附录1 资源及其利用 语言的异常处理 输入输出流 图形用户界面设计 及多线程试验

实验报告格式

实验一 Java基础实验

一、实验目的与要求

1. 学习编写简单的Java程序。

2. 学习掌握Java基本数据类型及其基本运算。 3. 学习掌握Java 的基本流程控制语句。

二、相关知识

1. 了解JDK的工作环境,以及如何使用JDK进行编程。 2. 熟悉集成软件 eclipse3.7及其使用。

二、实验内容

1. 编写Hello.java程序并运行。

2. 用Java语言编写一个应用程序在屏幕上输出1000之内的素数。 3. 一个数如果恰好等于它的因子之和,这个数就称为“完数”,比如28=1+2+4+7+14。编写一个应用程序在屏幕上输出1000之内的完数。 4. 求满足1!+2!+3!+ …+n!≤9999的最大整数n 。

5. 一个三位的整数如果它的各位数字的立方之和等于这个三位数,就称此数为水仙花数,比如 371?3?7?1,编写一个应用程序在屏幕上输出所有水仙花数。 6. 下面程序的输出结果是什么?

333

实验二 Java面向对象特性试验-Java中的类、对象和方法 一、实验目的与要求

1. 掌握类的定义和使用,定义一些简单类并使用之。 2. 掌握对象的声明、创建和使用。 3. 掌握构造方法的定义和使用。

4. 掌握类方法(静态方法)和非类方法(非静态方法)的区别和使用。 5. 掌握成员变量和局部变量的区别和使用。

二、实验内容

1. 编写一个Java程序,定义一个表示学生的类,类名Student, 其成员变量有:学号、班级、姓名、性别、年龄; 成员方法:(1)获得班号(2)获得姓名(3)获得年龄(4)修改年龄;

在测试类中创建一个Student的对象,修改该对象的年龄,并输出该对象的年龄。 2. 类StudentB拥有上题中的所有属性和方法,并且有构造方法,用于初始化所有成员变量,在Student中增加一个方法public toString(),它的返回值是String,其功能是把类StudentB的对象的成员变量信息组合成一个字符串并输出。比如输出信息 学号:123,班号:1班,姓名:李莉,性别:女,年龄:19 。

在测试类中创建一个StudentB的对象,输出该对象的信息。

3. 简述构造函数的作用和特点。下面是某同学为Student类编写的一个构造函数,请指出那些地方有错误:

void Student(int sno, String sname){ studentNo=sno;

studentName=sname;

return sno; }

其中 studentNo、studentName是类Student中定义的变量。 4. 编写一个日期类MyDate,要求:

(1) 日期类 MyDate的成员变量有:year、 month、day 都是int 型。 (2)日期类的方法有:

构造方法 MyDate(),日期的默认值为2008年1月1日;

构造方法 MyDate(int y,int m,int d),形参y、m、d分别为某个日期的年月日的初始值; 成员方法 int getYear():获取日期的年数作为方法的返回值;

成员方法 int getMonth():获取日期的月份作为方法的返回值; 成员方法 int getYear():获取日期的日作为方法的返回值;

成员方法 void showDate():按“yyyy年mm月dd日”格式显示一个日期。

在测试类中创建一个MyDate类的对象,显示该对象的年月日。 5. 设计名为Rectangle的类表示矩形,

成员变量:width和height表示矩形的宽和高,其数据类型为double,默认值是1.0; 成员变量:color表示矩形的颜色,其数据类型为String,默认颜色为白色; 构造方法:无参数的构造方法Rectangle(),其功能是创建默认的矩形; 构造方法:带三个参数的构造方法Rectangle(double width,double height,String color),其

功能是创建指定大小和颜色的矩形

成员方法:getWidth()、getHeight()、getColour()功能是获取矩形的相应信息; 成员方法:setWidth()、setHeight()、setColour()功能是修改矩形相应的信息 成员方法:getArea() 计算矩形的面积并返回其值; 成员方法:getPerimeter()计算矩形的周长并返回其值;

编写一个测试程序,创建两个Rectangle对象,设置第一个对象的宽为4,高为40,颜色为黄色,第二个对象的宽为3.5,高为35.9,颜色为红色。显示两个对象的属性并将它们的面积和周长输出。

6. 设计名为MyInteger的类表示整数,它包括:

成员变量:value 其数据类型为int(用于存储整数的值);

构造方法:MyInteger(int x),其作用是创建指定int值的MyInteger对象; 成员方法:getInt(),其功能是返回MyInteger对象的值;

成员方法:isEven()、isOdd()和isPrime()方法,如果value的值分别为偶、奇或素数,

则相应方法的返回值是true,否则为false;

成员方法:equals(int x),如果对象的值与指定的值相等返回true,否则返回false; 成员方法:parseInt(String x)将数字字符串x转变成int值。 编写程序测试该类中的所有方法。

7. 设计名为MyPoint的类表示一个平面坐标点--具有x坐标和y坐标的点,该类包括, 成员变量:x、y;double型;

无参数的构造方法:MyPoint( ),创建坐标点0,0);

带参数的构造方法:MyPoint(double x,double y)创建一个坐标点(x,y); 成员方法:getX()、getY(),返回坐标点相应的值;

成员方法:distance( ),返回MyPoint类型的两个点之间的距离;

编写测试程序创建两个点 (2,3) 和 (10,30.5),并显示它们之间的距离。 8. 设计名为Course的类,它包括:

3个成员变量:课程编号(cNnumber)、课程名(Cname)、学分数(Cuit) 1个构造方法,用于初始化课程编号、课程名和学分 1个方法:printCourseInfo(),用于输出课程相关的信息 编写课程类的测试程序,输出对象课程的相关信息。

*9. 设计一个名为Account的类模拟账户,它包括: ·int型数据域id表示账号(默认值为0);

·double型数据域balance表示账户余额(默认值为0);

·double型数据域annualInterestRate存储当前年利率(默认值为0); ·String 型数据域dateCreated存储账户开户的日期; ·无参构造方法创建一个默认的账户;

·id,balance和annualInterstRate的访问器和修改器; ·dateCreated的访问器;

·getMonthlyInterestRate()方法返回月利率; ·withDraw方法从账户提取特定数额的款; ·deposit方法向账户存特定数额的款;

编写一个测试程序,创建一个账号为1122、余额为20 000、年利率为4.5%的Account

对象。使用withDraw方法提款2500元,使用deposit方法存款3000元,并打印余额和月利率,以及该账户的开户日期。