• 大小: 976KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-05
  • 语言: Java
  • 标签: 架构风格  KWIC  JAVA  

资源简介

软件架构的作业。压缩包包含了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\objectoriented\Main.java

     文件        795  2009-04-06 13:28  KWIC\src\objectoriented\Alphabetizer.java

     文件        428  2009-04-06 14:59  KWIC\src\objectoriented\Output.java

     文件       1197  2009-04-06 04:23  KWIC\src\objectoriented\LineStorage.java

     文件        459  2009-04-06 15:05  KWIC\src\objectoriented\Input.java

     文件       1368  2009-04-06 15:21  KWIC\src\objectoriented\CircularShifter.java

     文件       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\可执行文件\objectOriented.jar

     文件        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\objectoriented

     目录          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个文件信息

评论

共有 条评论