当前位置:文档之家› 建立单词索引实验报告

建立单词索引实验报告

《高级Java编程技术》课程实验报告
院(系)名称:计算机学院专业班级:09计科 3 班
学号:姓名:
实验题目:实验6字符与字符串
实验日期:2011/11/01实验(上机)学时:2
一、实验内容、要求
1.实验内容:建立单词索引
2.要求:
编写应用程序,建立一篇文档的单词索引。

应用程序要输入给定文档中所有单词及其在文档中出现的次数的列表,单词按字母顺序排列。

文档
是文本文件(文件的内容是ASCⅡ字符),程序的输出结果也保存为ASCⅡ
文件。

实现这个程序的主要步骤有:
1)创建程序框架。

定义带有数据成员的主类。

为了测试这个主类还
要定义Ch9WordConcordance类的框架,它只有一个默认的构造
方法。

2)添加打开文件和保存结果的代码。

必要时,对步骤1的类进行扩充。

3)实现Ch9WordConcordance类。

4)去掉临时语句,将各部分连接起来,确定最终的代码。

二、所采用的数据结构
如:线性表,二叉树,树,图等。

你在此用到了啥样的数据结构就写啥。

无数据结构。

三、实验的主要模块(或函数)及其功能
函数分块及各块主要功能的文字描述
1、Ch9WordConcordanceMain主类。

这是一个可实例化的主类,定义
stsrt方法来实现顶层控制逻辑。

定义默认的构造方法来创建其他类的实例。

包含的方法及描述如下:
(1)实现顶层逻辑控制,main()。

(2)默认构造方法,创建Ch9WordConcordance类和FileManager类的实例。

public Ch9WordConcordanceMain()
(3)建立单词列表:private String build(String document)
(4)打开文件:private String inputFile()
(5)保存文件:private void saveFile(String list)
(6)程序开始执行:private void start()
2、Ch9WordConcordance类。

该类的实例利用Pattern和Matcher类进行单词提取。

包含的方法和描述如下:
(1)默认的构造方法,创建WordList类和Pattern的实例:public Ch9WordConcordance()
(2)对打开的文件内容进行单词获取:
public String build(String document)
3、FileManager类。

实现打开文件和保存文件。

包含的方法和描述如下:
(1)打开文本文件filename,将其内容作为字符串返回:
public String openFile(String filename) throws
FileNotFoundException,IOException
(2)打开最终用户所选择的文本文件,将其内容作为字符串返回。

选择文件时使用标准的文件打开对话框:
public String openFile() throws FileNotFoundException,
IOException
(3)讲字符串data保存到文件filename中:
public void saveFile(String filename, String data) throws IOException
(4)讲字符串data保存到最终用户所选择的文件中,使用标准的文件保存对话框:
public void saveFile(String data) throws IOException
4、WordList类。

支持单词列表的维护。

每次从文档中提取出一个单词
时,就将它写入单词列表。

如果单词列表已经有这个单词时,这将它的数量加1。

包含的方法及描述如下:
(1)增加给定单词的数量。

如果单词已在列表中,则将它的数量加1;
如果单词不在列表中,那么将它添加到列表中,数量设为1.:
public void add(String word)
(2)将单词索引作为一个字符串返回,单词索引以单词的首字母顺序排列,每行包含一个单词及其数量:
public String getConcordance()
(3)清空内部数据结构,以便创建新的单词列表。

在每次处理新的文档之前,必须调用该方法:
public void reset()
四、主要模块(或函数)的算法思想和程序框图
具体算法实现文字描述或框图:
主类:Ch9WordConcordanceMain main( ) start( ) inputFile() 调用FileManager 类的openFile()
显示了一个打开文件的对话框
build(document) 调用Ch9WordConcordance 类的build(document) 对打开文档的内容进行单词模式匹配 Run the program? N Y 退出程序。

调用WordList 类的add(document.substring(matcher.start(), matcher.end())) 调用WordList 类的getConcordance() 获取记录中所有的记录项 saveFile(wordList) 调用FileManager 类的saveFile()
显示了一个保存文件的对话框
Run the program ?
谢谢使用程序。

Y N
五、程序运行时的输入数据(随机产生的数据要求输出显示),输出结果
1、选择是否运行程序:
2、选择是,打开一个打开文件的对话框,选择了一个在我的文档的文本文件lizebing.txt:
3、打开一个保存文件的对话框,选择了保存在我的文档的lizebing1.txt:
4、询问是否继续运行程序:
6、选择否退出程序。

7、这是打开lizebing.txt文件中的内容:
8、打开文本文件1lizebing1.txt可以看到从lizebing.txt文档中索取的单词列表:。

相关主题