北京大学软件体系结构课程KWIC作业.docxVIP

  • 18
  • 0
  • 约3.34千字
  • 约 7页
  • 2019-09-27 发布于广东
  • 举报
请解答KWIC的4种不同软件体系结构风格中提出的问题,对每一种方案的问题解答,要 求: MS: 给出(软件)设计说明书: 题目要求 修改数据表示方法。创建新的Circularshift方法,修改shift_char的内容,使其 由记录标识的整形数组变为记录字符的数组。然后建立数组Shift index存储每一个 shift开始的位置。 增加一个filter函数,用于删除所有以数字为开头的shift. 源程序,在程序中标明您所做的修改; 见附录 程序使用说明: 与原程序使用方式相同。 运行结果: 测试文件内容: hello world test 130 ni hao 运行结果: hao ni hello world test 130 ni hao test 130 hello world world test 130 hello 结果为所有按照字母顺序排序的shift ,且开头为数字的shift已经被删除。 方案分析 模块之间共享数据结构,修改数据结构需要修改所有受到影响的模块,较为麻烦。 6?问题解答。 1主要修改CircularShifter模块。数据的存储结构发生改变,模块也要进行修改 2不需要修改其他模块。 3不能直接复用模块。数据的表示方法不同。 00: 给出(软件)设计说明书: 题目要求新建Line类。存储名为words.的Arraylist.Arraylist中存储String对象。 LineStorage 中存储 Line 对象. Linestorage -linesjArrayList positionnnt, wordlnt, hne」nt) +getChar(out cxhar, position:!nt. word:int. line:int) +addChar(c:char. word:int. line int) +deleteCharfposition int. word:int. line int) +getCha rCou nt(out counting v^ord:mtt line」nt) +setWord(w.chailJ, vord:int line:int) +setWbrd(w String word:int, linint) ?^getWbrd(out w:St「ing, word:int, line int) +addWbrd(w chartl line;int) +addVVbrd(w String. lineint) +addEmptyWord(line:int) +deteteWord(word:lnt, hne:lnt) +getWordCount(out countint. line:int) +setLine(l char(I], line;int) +setLlre(l String]], line Int) +getLine(out l:String[|t line.Int) +getLineAsString(out l:String, linednt) +addLine(l.cha^J]) 4-addLine(IString[]) +addEmptyLine() +deieteLine(llne mt) +getLi neCount(out coun t:int) 1 Line ^vords_: Array List +setChar(c.char? posibon.lnt, word」nt) +getChar(out c:char, posltionzint, vord:int) +addChar(c.char, word: int) +deleteChar(positio rulnl word: int) +getCharCount(out countint. word int) +setWord(wchart]. word int) +setWord(w.String, vvordJnt) +getWord(out w: String, word: int) +addWord(w.charf|) +addWord(w String) +addEmptyWord() +deieteWo rd(wo rd: int) +getWordCount(out countint) 按照类图修改数据表示方法。 然后修改功能部分,将由文件读入改为命令行输入。包含ADD.PRINT和QUIT 三个指令,分别完成添加,输岀和退出的功能 源程序,在程序中标明您所做的修改 见附件 程序使用说明: 在命令行输入add后,可以按行添加字符串。输入Print即可在命令行输出结果。 输入quit退出程序。 运行结果: 使用 ADD 添加 hello world 130 输出结果: 130

文档评论(0)

1亿VIP精品文档

相关文档