一、实验目的
1.理解不同体系结构风格的具体内涵。
2.学习体系结构风格的具体实践。
二、实验环境
硬件: (依据具体情况填写)
软件:Java或任何一种自己熟悉的语言
三、实验内容
“上下文关键字”KWIC(Key Word in Context,文本中的关键字)检索系统接受有序的行集合:每一行是单词的有序集合;每一个单词又是字母的有序集合。通过重复地删除航中第一个单词,并把它插入行尾,每一行可以被“循环地移动”。KWIC检索系统以字母表的顺序输出一个所有行循环移动的列表。
尝试用不同的策略实现这个系统。选择2-3种体系结构风格来实现。
四、实验步骤:
要求写具体实现代码,并根据实际程序,画出程序的总体体系结构图和算法结构图,以及运行结果截图。
A.采用主/子程序的风格
1、体系结构图:
2、简述体系结构各部件的主要功能,实现思想。
读取文件:从本地读取文件
循环移位:对读取到的内容进行循环移位
排序:对移位后的结果进行排序
输出:输出到控制台
3、写出主要的代码
1 import java.io.BufferedReader; 2 import java.io.File; 3 import java.io.FileReader; 4 import java.util.ArrayList; 5 import java.util.Comparator; 6 import java.util.List; 7 8 public class KWIC { 9 public static void main(String[] args) { 10 11 //读取文件 12 List<String[]> result = getContext(new File("fileTemp/context.txt")); 13 //循环移位 14 result = loopShift(result); 15 //排序 16 sort(result); 17 //输出 18 printf(result); 19 } 20 21 private static List<String[]> getContext(File file) { 22 23 List<String[]> strList = new ArrayList<>(); 24 try