wordcontent小结

gitee地址:

https://gitee.com/yzpdegit/test

问题描述:

计算一个文件中所包含的单词数,字符个数,行数

需求分析:

WordCount的需求可以概括为:对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。
可执行程序命名为:wc.exe,该程序处理用户需求的模式为:
wc.exe [parameter] [input_file_name]
存储统计结果的文件默认为result.txt,放在与wc.exe相同的目录下。

解题思路:

首先选取的语言是用Java来进行开发的,读取文件需要用到java中的io流,通过创建通道来读取文件中的数据然后当作字符串来进行处理,通道建立好以后利用循环,当read()每
次读取一行循环一次,直到读取完毕,计算字符的个数即为直接计算字符串的长度,计算单词的个数则可以利用匹配模式,将字符串切割,当遇到逗号和空格时,将他们截断,
然后两者相加再减一就行,最后行数就判断循环了多少次就行。

psp表格:

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

10

15

· Estimate

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

20*60

10*60

Development

开发

60

84

· Analysis

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

30

30

· Design Spec

· 生成设计文档

30

20

· Design Review

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

10

10

· Coding Standard

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

30

30

· Design

· 具体设计

50

40

· Coding

· 具体编码

20

20

· Code Review

· 代码复审

10

10

· Test

· 测试(自我测试,修改代码,提交修改)

60

50

Reporting

报告

40

60

· Test Report

· 测试报告

30

30

· Size Measurement

· 计算工作量

10

10

· Postmortem & Process Improvement Plan

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

25

25

 

合计

415

424

代码展示:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

这段代码里面的表示需要的导入的包后面要用到的包都在这里去找

public class Main {

    public static void main(String[] args)throws IOException {
        int word=0;
        int character=0;
        int length=0;
        Scanner in=new Scanner(System.in);
        System.out.println("输入文件路劲:");
        String path=in.next();
        InputStreamReader input=new InputStreamReader(new FileInputStream(path));
        BufferedReader br=new BufferedReader(input);
        while(br.read()!=-1)
        {
            String s=br.readLine();
            word+=s.split(",").length-1+s.split(" ").length;
            character+=s.length()+s.split(" ").length-1;
            length++;
        }
        input.close();

在这里面输入要读取的文件,创建通道链接文件,将内容读取出来,然后利用循环遍历完文件,边遍历变计算

File result=new File("output.txt");
        result.createNewFile();
        BufferedWriter bd=new BufferedWriter(new FileWriter(result));
        bd.write(path+",单词数:"+word);bd.newLine();
        bd.write(path+",字符数:"+character);bd.newLine();
        bd.write(path+",行数数:"+length);bd.newLine();
        bd.flush();
        bd.close();

将结果输入到output.txt文件里

测试用例 :

测试结果:

心得体会:

第一次写博客感觉还不错,对于博客的编写有了很大的认识,其次,在这次的开发中用到了gitee来对项目进行管理,让我对项目的整合方面有了很大的
提升 ,再开发的过程中我发现和以往的开发有很大的区别,首先,以前都注重于敲代码,这次的中心却放到了分析规划上面,但是本次的开发也有很大
的不足,对于测试用例的分析还不是很到位,下次希望能好一点。

posted @ 2018-09-24 20:51  yyaa123  阅读(431)  评论(0编辑  收藏  举报