資源簡介
軟件架構的作業。壓縮包包含了KWIC三種架構風格的JAVA實現,Pipe/Filter、MainSubroutine。該實現參考了網上下載的文檔,但不一致。
只能處理較小的輸入文件

代碼片段和文件信息
package?mainsubroutine;
import?java.io.*;
import?java.util.ArrayList;
import?javax.swing.JOptionPane;
public?class?Main?{
??
????public?static?char[]?chars_array=null;
????public?static?int[]?line_index_array=null;
????public?static?int[][]?circular_shifts_matrix=null;
????public?static?int[][]?alphabetized_matrix=null;
????public?static?void?main(String[]?args)?throws?IOException{
????????//?TODO?code?application?logic?here
????????long?startTime?=?System.nanoTime();
????????FileReader?fr=new?FileReader(“input.txt“);
????????input(fr);
????????circular_shift();
????????alphabetize();
????????FileWriter?fw=new?FileWriter(“output.txt“);
????????output(fw);
????????long?estimatedTime?=?System.nanoTime()?-?startTime;
????????JOptionPane.showMessageDialog(null“運行時間:“+new?Long(estimatedTime).toString()+“毫微秒“);
????}
????public?static?void?input(FileReader?fr)throws?IOException{
????????BufferedReader?br=new?BufferedReader(fr);
????????String?str=““;
????????int?line_first=0;
????????ArrayList?line_index_list=new?ArrayList(0);
????????while(br.ready()){
????????????line_index_list.add(line_first);
????????????str=str+br.readLine();
????????????str=str.trim();
????????????line_first=str.length();
????????????
????????}
????????chars_array=str.toCharArray();
????????line_index_array=new?int[line_index_list.size()];
????????for(int?i=0;i ??????????line_index_array[i]=line_index_list.get(i);
????????}
????????
????????
????????for(int?i=0;i ????????????System.out.print(chars_array[i]);
??????????}
????????System.out.println();
????????
????????for(int?i=0;i ????????????System.out.print(line_index_array[i]);
????????????System.out.print(‘?‘);
???????????
????????}
?????????System.out.println();
????}
????public?static?void?circular_shift(){
????????ArrayList??circular_shifts_list=new?ArrayList(0);
????????String?line=null;
????????int[]?inlist=null;
????????int?word_index=0;
????????for(int?i=0;i ?????????????word_index=0;
???????????if(i!=line_index_array.length-1)line=new?String(chars_arrayline_index_array[i]line_index_array[i+1]-line_index_array[i]);
???????????else?line=new?String(chars_arrayline_index_array[i]chars_array.length-line_index_array[i]);
???????????while(true){
???????????????inlist=new?int[2];
???????????????inlist[0]=i;
???????????????inlist[1]=word_index+line_index_array[i];
????????????????circular_shifts_list.add(inlist);
????????????????word_index=line.indexOf(‘?‘?word_index);
???????????????if(word_index==-1)break;
????????????????word_index=word_index+1;
??????????????}
??????????
????????}
????????
????????circular_shifts_matrix=new?int[circular_shifts_list.size()][2];
????????int[]?temp=null;?
????????for(int?j=0;j ????????????temp=(int[])circular_shifts_list.get(j);
???
????????????circular_shifts_matrix[j][0]=temp[0];
????????????circular_shifts_matrix[j]
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6068??2009-04-06?21:33??KWIC\src\mainsubroutine\Main.java
?????文件???????1002??2009-04-06?21:37??KWIC\src\ob
?????文件????????795??2009-04-06?13:28??KWIC\src\ob
?????文件????????428??2009-04-06?14:59??KWIC\src\ob
?????文件???????1197??2009-04-06?04:23??KWIC\src\ob
?????文件????????459??2009-04-06?15:05??KWIC\src\ob
?????文件???????1368??2009-04-06?15:21??KWIC\src\ob
?????文件???????1577??2009-04-06?22:15??KWIC\src\pipefilter\Main.java
?????文件???????1041??2009-04-06?21:40??KWIC\src\pipefilter\Alphabetizer.java
?????文件???????1257??2009-04-03?02:13??KWIC\src\pipefilter\CircularShift.java
?????文件????????547??2009-04-06?21:39??KWIC\src\pipefilter\Filter.java
?????文件????????439??2009-04-03?02:13??KWIC\src\pipefilter\Input.java
?????文件?????????55??2009-04-03?01:54??KWIC\src\pipefilter\input.txt
?????文件????????606??2009-04-06?21:39??KWIC\src\pipefilter\Output.java
?????文件???????1003??2009-04-03?02:13??KWIC\src\pipefilter\Pipe.java
?????文件??????11678??2009-04-06?22:15??KWIC\可執行文件\PipeFilter.jar
?????文件???????5643??2009-04-06?21:33??KWIC\可執行文件\MainSubroutine.jar
?????文件???????9661??2009-04-06?22:01??KWIC\可執行文件\ob
?????文件????????743??2009-04-06?22:05??KWIC\可執行文件\input.txt
?????文件???????4521??2009-04-06?22:29??KWIC\可執行文件\output.txt
?????文件????????226??2009-04-06?22:29??KWIC\運行時間.txt
?????文件????????226??2009-04-06?22:36??KWIC\說明.txt
?????文件?????709412??2009-04-01?00:40??KWIC\參考文檔\ms.pdf
?????文件?????172975??2009-04-01?00:40??KWIC\參考文檔\oo.pdf
?????文件?????239978??2009-04-01?00:36??KWIC\參考文檔\pf.pdf
?????目錄??????????0??2009-04-06?22:19??KWIC\src\mainsubroutine
?????目錄??????????0??2009-04-06?22:19??KWIC\src\ob
?????目錄??????????0??2009-04-06?22:19??KWIC\src\pipefilter
?????目錄??????????0??2009-04-06?22:20??KWIC\src
?????目錄??????????0??2009-04-06?22:20??KWIC\可執行文件
............此處省略5個文件信息
評論
共有 條評論