資源簡(jiǎn)介
關(guān)鍵字檢索是軟件體系結(jié)構(gòu)的一個(gè)經(jīng)典案例,這里給出了一個(gè)程序示例.本例采用使用共享數(shù)據(jù)的主程序/子程序結(jié)構(gòu),根據(jù)四個(gè)基本功能將問題分解為:輸入、移動(dòng)、按字母表排序、輸出。所有計(jì)算構(gòu)件作為子程序協(xié)同工作并且由一個(gè)主程序順序地調(diào)用這些子程序。構(gòu)件通過共享存儲(chǔ)區(qū)交換數(shù)據(jù)。因?yàn)閰f(xié)同工作的子程序能夠保證共享數(shù)據(jù)的順序因此使計(jì)算構(gòu)件和共享數(shù)據(jù)之間基于一個(gè)不受約束的讀寫協(xié)議的通信成為可能。
代碼片段和文件信息
import?java.util.*;
import?java.io.*;
public?class?Kwic
{
public?static?File?fInfOut;
public?static?Vector?characterindexalphabetizedIndex;
public?static?void?main(String?args[])
{
fIn?=?new?File(“In.txt“);
fOut?=?new?File(“Out.txt“);
character?=?new?Vector();
index?=?new?Vector();
alphabetizedIndex?=?new?Vector();
????????InPut.inPut(characterfIn);
Shift.shift(characterindex);
Alphabetize.alphabetize(index);
OutPut.outPut(characterindexfOut);
}
}
class?InPut
{
private?static?FileReader?in;
private?static?BufferedReader?bufferIn;
public?static?void?inPut(Vector?aFile?b)
{
try
{
in?=?new?FileReader(b);
bufferIn?=?new?BufferedReader(in);
while(bufferIn.ready())
????{
a.add(bufferIn.readLine().toLowerCa
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????636??2007-05-19?15:47??kwic\Alphabetize.class
?????文件????????295??2007-05-19?15:15??kwic\In.txt
?????文件????????818??2007-05-19?15:47??kwic\InPut.class
?????文件????????954??2007-05-19?15:47??kwic\Kwic.class
?????文件???????2401??2007-05-19?15:47??kwic\Kwic.java
?????文件???????2053??2007-05-19?15:47??kwic\Out.txt
?????文件???????1205??2007-05-19?15:47??kwic\OutPut.class
?????文件????????747??2007-05-19?15:47??kwic\Shift.class
?????目錄??????????0??2007-05-19?22:47??kwic
-----------?---------??----------?-----??----
?????????????????9109????????????????????9
- 上一篇:匯編語言32位乘32位乘法用16位做
- 下一篇:霍爾自行車?yán)锍趟俣?/a>
評(píng)論
共有 條評(píng)論