山东科技大学-Java数据结构实验二.docx

实 验 报 告 课程名称: 学 院: 专 业: 班 级: 姓 名: 学 号: 年 月 日 山 东 科 技 大 学 教 务 处 制 实 验 报 告 页 组 别 姓 名 同组实验者 实验项目 名称 实验日期 教师评语 实验成绩: 指导教师(签名): 年 月 日 实验目标 1.掌握根据实际需求设计Java类的方法; 2.掌握Java中继承的使用方法; 3.掌握Java中package的概念和使用方法; 4.掌握静态方法的定义和使用方法; 5.掌握Object类中equals方法和toString方法的重写方法。 6.掌握Java中抽象类和抽象方法的定义; 7.掌握Java中接口的定义,熟练掌握接口的定义形式以及接口的实现方法。 8.熟练掌握Java中一维数组、多维数组的使用方法,能够使用Java数组解决一般性的应用问题。 实验内容 1.设计一个教师类Teacher(属于cn.net.sdkd包),要求: 1)属性有编号(int no)、姓名(String name)、年龄(int age)、所属学院(String seminary),为这些属性设置相应的get和set方法。 2)为Teacher类重写equals方法,要求:当两个教师对象的no相同时返回true。 3)重写Teacher类的toString方法,通过该方法可以返回“编号为**、姓名为**、年龄为**的**学院老师”形式的字符串。 4)由多个Teacher对象所形成的数组可以以两种方法排序(编号由低到高排序):1)使用Arrays.sort(Object[] a)方法;2)使用Arrays.sort(Object[] a, Comparator c)方法。 5)再定义一个类TeacherManagement(属于cn.sd包),提供方法search,方法可以在一组给定的教师中,根据姓名(或年龄)返回等于指定姓名(或年龄)的教师的字符串信息,信息格式为:“编号为**、姓名为**、年龄为**的**学院老师”。如果没有满足条件的教师,则返回“没有符合条件的教师”。 6)构造main方法进行测试。 2.设计一个带表头的双向链表(链表中数据的具体类型可以随意),提供以下方法:(1)insert:在某个位置插入对象;(2)insert:在链表的最后插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。 3.使用一维数组编码实现一个栈(Stack)类,要求提供以下操作:(1)boolean isEmpty():判断栈当前是否为空;(2)入栈操作void push(obj):把数据元素obj插入堆栈;(3)出栈操作Object pop():出栈,并返回删除的数据元素;(4)Object getTop():取堆栈当前栈顶的数据元素并返回;(5)利用Stack类实现一个方法:输入一个正整数,输出该整数所对应的二进制数。 4.利用二维数组(double[])实现一个矩阵类:Matrix。要求提供以下方法:(1)set(int row, int col, double value):将第row行第col列的元素赋值为value;(2)get(int row,int col):取第row行第col列的元素;(3)width():返回矩阵的列数;(4)height():返回矩阵的行数;(5)Matrix add(Matrix b):返回当前矩阵与矩阵b相加后的矩阵;(6)Matrix multiply(Matrix b):返回当前矩阵与矩阵b相乘后的矩阵。(7)Matrix transpose():返回当前矩阵的转置矩阵;(8)getMax():返回矩阵中的最大值及其所在行和列;(9)print():以行和列的形式打印出当前

文档评论(0)

1亿VIP精品文档

相关文档