第四周小组作业:WordCount优化

Github地址:

https://github.com/skz12345/wcPro

PSP表格:

 

PSP

PSP阶段

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

10

5

Estimate

估计这个任务需要多少时间

10

5

Development

开发

60

50

Analysis

需求分析(包括学习新技术)

5

5

Design Spec

生成设计文档

5

5

Design Review

设计复审(和同事审核文档)

5

5

Coding Standard

代码规范(为目前的开发制定合适的规范)

5

5

Design

具体设计

5

5

Coding

具体编码

40

30

Code Review

代码复审

5

5

Test

测试

20

10

Reporting

报告

10

10

Test Report

测试报告

10

10

Size Measurement

计算工作量

10

10

Postmortem & Process Improvement Plan

事后总结,并提供过程改进计划

5

5

 

合计

205

165

 

基本任务:代码编写+单元测试

接口实现

此次作业分为输入、输出、核心以及其他四个模块,我负责输出模块,即将功能整合到main函数中,完成功能。

代码:借鉴了一部分王迪同学的代码

public class test {
    public static void main(String[] args) {
        if (args.length == 1) {
            if (args[0].endsWith(".txt")) {
                HashMap<String, Integer> map = wcPro.count(args[0]);
                String pri=wcPro.print(wcPro.sortList(map));
                System.out.println(pri);
            } else if (args[0].equals("-x")) {
                imgShow();
            } else{
                System.out.print("输入格式错误\n");
            }
        } else{
            System.out.print("参数数量错误\n");
        }
    }
}

 

public static void main(String[] args){
        int n=0;
        BufferedReader bre = null;
        File file=new File("D:/file.c");
         System.out.println("输入要求:");
         Scanner sc=new Scanner(System.in);
         String str1=sc.nextLine();
         public String dsdsd(){
         if(str1.equals("wc.exe -c file.c"))
         {
             try {  
                    System.out.println("以字节为单位读取文件内容,一次读一个字节:");  
                    // 一次读一个字节  
                    bre = new BufferedReader(new FileReader(file));
                    int tempbyte;  
                    while ((tempbyte = bre.read()) != -1) {  
                        n++;
                    }                               
                    bre.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                    return;  
                }  
             System.out.println("字符数为:"+n);  
         }}
         if(str1.equals("wc.exe -w file.c"))
         {
             try {  
                    System.out.println("以字节为单位读取文件内容,一次读一个字节:");  
                    // 一次读一个字节  
                    bre = new BufferedReader(new FileReader(file));
                    String tempbyte;  
                    while ((tempbyte = bre.readLine()) != null) {  
                        if((tempbyte=bre.readLine())!="\t")
                        n++;
                    }                               
                    bre.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                    return;  
                }  
             System.out.println("字符数为:"+n); 
         }
         if(str1.equals("wc.exe -l file.c"))
         {
             try {  
                    System.out.println("读取行数:");  
                    // 一次读一个字节  
                    bre = new BufferedReader(new FileReader(file));
                    String tempbyte;  
                    while ((tempbyte = bre.readLine()) != null) {  
                        n++;
                      
                    }                               
                    bre.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                    return;  
                }  
             System.out.println("行数为:"+n); 
         }

 

main函数比较简单,通过处理命令行参数,对数组中的参数进行判别,便可获得命令行输入参数以及指定的输入文件名和指定的输出文件名,然后处理。

测试用例设计

质量评测:设计的测试用例均通过了测试,效率符合要求。测试用例覆盖了可能出现的输入情况单元测试结果符合预期。


 

 

posted @ 2018-04-08 22:31  董钟骏  阅读(174)  评论(1编辑  收藏  举报