当前位置:首页 > java小说统计实验报告
实 验 报 告
面向对象技术
题目:小说统计 姓名:杜茂鹏 班级:计科1101
一.题目及要求:
自行下载自己最喜欢的小说1部。存储为文本文档。要求长篇小说,20万字以上。
任取其中10个人物,考虑他们的姓名、别名等等一系列因素。 (1)统计每个人在小说中出现的次数并排序。
(2)统计每个人在小说中出现的篇幅跨度(第一次出现距最后一次
出现的篇幅)并排序。
(3) 如果两人在相距较短的一段文字中出现,我们认为两人有关
系,距离越短,关系越近。自行设计统计标准,找出10个人中:
1)关系最紧密的两个人,关系最不紧密的两个人。
2)输入一个人名,列出该人和其他人关系的紧密程度排名。 看与实际是否符合?如果不太符合,说明可能的原因。
二.程序构思:
1 创建一个人物类(包括姓名,出现次数,第一次出现次数,最后一次出现次数)。
2 创建一个查找类,每次查找某人(包括别名)后将本次
位置设置为下次开始查找的位置依次循环,并在每次成
功查询后人物出现次数累加,最后记录第一次出现位置 和最后一次出现位置 。别名的查找结果累计在本名里。
3 创建一个排序类,将所有人查找后按次数和篇幅(最后
一次出现位置与第一次的差)排序并输出。
4 创建一个亲密度类,按输入名循环查找并在每次查找后,判断位置前边200字以内有没有其他九个人,如果有则与该人的亲密度累加。
5创建一个字节流输入类,并将其转化为字符串全局变量 6 主函数(考虑异常)。
三.程序截图
四.实验反思:
本次实验是用java第一编写相对复杂一点的程序,在编写过程中出现了很多小错误,费时费力,但是加深了对各种错误的理解。在用system.in输入时,总是出现乱码错误,后来改用javax.swing.JOptionPane.showInputDialog输入,就正常了。本次算法很简单,主要是加强一下对java的掌握程度。与c语言相比,java面向对象的特点使得程序看起来很有结构,各种类的运用也使变成变得清晰和容易。今后还要继续下去对java的学习,师傅领进门,修行在个人。
五.源代码:
package xiaoshuo; import java.io.File;
共分享92篇相关文档