福建农林大学计算机与信息学院实验报告
系: 计算机 专业: 计算机科学与技术 年级: 姓名: 学号: 实验室号 513 计算机号 79
实验时间: 2010-4-8 指导教师签字: 成绩:
实验名称 类与对象
一、 实验目的和要求
1.了解类的成员设 2. 掌握类与对象的关系 3. 掌握继承的概念;
二、 实验内容和原理
实验内容
1.创建5个学生对象给一个学生数组赋值,每个学生属性包括:学号、姓名、年龄。实现如下要求:
(1)将学生按学号排序输出; (2)给所有学生年龄加1; (3)统计大于20岁的学生人数。 (4)输出结果,如图1所示: 2.已知链表的每个结点定义如下: Node {
int data;
Node next; }
实现如下要求:
(1)创建一个初始为10个结点的单向链表,结点数据用随机函数产生。 (2) 输出该链表:
(3)在链表的首部增加一个数据为50的结点,并输出链表。 (4)在链表的尾部增加一个数据为50的结点,并输出链表。 (5)输出结果
三、 实验环境
学生用微机,windows 7操作系统,JDK
四、 算法描述及实验步骤
算法描述
1.定义类: Student
成员变量:int number; int age;String name; 成员方法:output()输出学生数组的所有元素;
toString()输出一对象是返回相应输去的格式与内容; 重载构造函数:Student(int ,int ,String )给对象赋初值;
mian()的流程图 output()的流程图
new:s1?(3,18,\?(1,21,\ s3?(33,20,\?(13,20,\s5?(8,17,\?{s1,s2,s3,s4,s5} 打印“班级学生名单”;调用output()方法 i?0 j?i+1 当i 当j 2. 定义结点:Node { int data; Node next; } 定义类: Link: 成员变量:Node header 用于表示链表的头结点; 成员方法:Link(int n) 构建含n个结点的链表; outputLink() 输出链表的所有元素的数据 main()方法的流程图 构建链表的流程图 打印链表的流程图 创建含10个元素的链表 调用outputLink()输出链表 创建一个数据为50的新结点q p?header q.next?p header?q 调用outputLink()输出链表 p?header 建一个数据为50的新结点r 当p的下一结点不为空,做 p指向p的下一个结点 调用调用outputLink()输出链表 创建首结点header 给首结点的data域赋值 p?header k?1当k 实验步骤 1.新建一个java文件; 2.以记事本形式打开编辑; 3.在打开编辑窗口编写程序代码; 4.打开运行cmd; 5.编译、调试和执行; 6.写实验报告。 五、 调试过程 1.错误提示: E:\\java\\Experiment4\\Student.java:17: 找不到符号 符号: 构造函数 Student(int,int,java.lang.String) 位置:类 Student Student s1 = new Student(3,18,\ 错误分析:未定义构造函数.修改方法:定义构造函数如下: Student(int no,int ag,String na){} 错误提示:E:\\java\\Experiment4\\Student.java:41: 找不到符号 符号:变量 count 位置:类 Student System.out.println(\大于20岁人数是:\ 错误分析:未定义变量count;修改: int count; 运行错误: 错误分析:toString()方法为无参方法;修改方法:把形参给删除; 2.错误提示:E:\\java\\Experiment4\\Link.java:46: 无法从静态上下文中引 用非静态 变量 header q=header; 错误分析:header应为静态变量;修改:Static Node header; 错误提示:E:\\java\\Experiment4\\Link.java:27: 不兼容的类型 找到: Node 需要: Boolean while(p){ 错误分析:条件判断应为Boolean型,而p为Node型,修改:p!=null; 错误提示:E:\\java\\Experiment4\\Link.java:16: 可能尚未初始化 变量 q q.data=(int)(Math.random()*100); 错误分析:未初始化变量q,修改:q=new Node(); 运行错误:死循环; 错误分析:把q节点赋值查到头结点前,再插到未结点,导致死循环。修 改,另外定义一节点,插入链表的末尾。 六、 实验结果 --Student.java结果
相关推荐: