一、码云地址

https://gitee.com/fyxjm/PersonalProject-Java/tree/master

二、个人PSP表格

PSP2.1 个人开发流程 预估耗费时间(分钟) 实际耗费时间(分钟)
Planning 计划 30 60
· Estimate 明确需求和其他相关因素,估计每个阶段的时间成本 30 50
Development 开发 300 600
· Analysis 需求分析 (包括学习新技术) 60 120
· Design Spec 生成设计文档 60 120
· Design Review 设计复审 30 60
· Coding Standard 代码规范 30 60
· Design 具体设计 60 120
· Coding 具体编码 200 300
· Code Review 代码复审 30 35
· Test 测试(自我测试,修改代码,提交修改) 0 0
Reporting 报告 70 100
· 测试报告 0 0
· 计算工作量 30 35
· 并提出过程改进计划 0 0

三、解题思路描述

1、选择编程语言

  • Java语言

    2对于题目的理解与知识点的使用
  • 本题的思想是想用文本文件来进行统计
  • 第二就是对各种字符的统计,不管大小写、单词都要进行统计,然后输出,这里用到的知识点就是对字符串的判断
  • 题目想要分类输出,当然这里必须要把单词,行数等分开来统计,即分类统计

    3、开始设计和编码
  • 进行类的划分
  • 进行编码

    4、遇到问题的解决方法
  • 上网找资料解答疑惑,还有就是问同学,不过还是觉得问同学比较来得快

四、设计实现过程

划分的类

  • WordCount类,用来存放所统计字符数、单词数等方法

    包含的方法有:WordC方法。
  • File类,用来对文件的处理,读取和写入

    包含的方法有:File_read方法
  • Main类,调用类,实现代码的功能

五、代码说明

1、WordC()方法,用来用于统计字符的数量

public class WordC{

	private int wordnumber=0;
private int charnumber=0;
private int line=0;
String text;
public WordC(String text) {
this.text = text;
}
public int getWordnumber() {
String str=text;
String[] words=str.split("\\s*[^0-9a-zA-Z]+");
for(String s:words) {
if(s.matches("[a-zA-Z]{4,}[a-zA-Z0-9]*")) {
wordnumber++;
}
}
return wordnumber;
}
public int getCharnumber() {
for(int i=0;i<text.length();i++) {
char c=text.charAt(i);
if(c > 31 && c < 127 ||c == 10) {
charnumber++;
}
}
return charnumber;
}
public int getLine() {
String[] lines=text.split("\r\n");
for(int i=0;i<lines.length;i++) {
if(lines[i].trim().length()!=0) {
line++;
}
}
return line;
}
}

2、File_read()方法,用来读取文本文档

public class File_read {
public String readToString(String filepath) throws IOException {
File file =new File(filepath);
FileInputStream files=new FileInputStream(file);
Long filelength =file.length();
byte[] by =new byte[filelength.intValue()];
StringBuffer buf = new StringBuffer();
if(file.isFile()&&file.exists()) { if(files.read(by)!=-1) {
buf.append(new String(by));
} }files.close();
return buf.toString();
}
}

六、心路历程与收获

这次的个人项目真的是个挑战,才打开博客的时候什么都看不懂,琢磨了半天都不知道从哪入手,想想这也太难了,对于我这种编程能力不是很强的人来说,想到写代码真的就有些头大,所以这次的代码也有一部分是借鉴了室友和同学的,然后才写了自己的代码,还问了他们好多问题,但这次的作业也有一些没有完成,那些没完成的希望在之后学会了再来继续完成。

不过这次的作业也给了我很多收获,起码知道了软件工程很看重流程,按着流程来确实井井有序,让人思路更清晰,还有就是那个PSP的预估时间和实际相差很大,可能是太高估了自己,哎,理想太丰满,现实太骨感,还是继续努力吧。

个人作业2——WordCount的更多相关文章

  1. 软件测试第二周个人作业:WordCount

    github地址:https:/github.com/muzhailong/wc.git 第一次写博客很不容易,也算是一个好的开始吧. 1.   个人作业要求 作业简述:根据WordCount的需求描 ...

  2. 软工网络16个人作业2——WordCount

    Deadline: 2018-9-17 22:00PM,以博客提交至班级博客时间为准 要求参考来自:https://www.cnblogs.com/xinz/archive/2011/11/27/22 ...

  3. 第二次作业(WordCount)重制版

    Github项目地址:https://gitee.com/DamonGetup/WordCount/tree/master 基本功能: 对程序设计语言源文件统计字符数.单词数.行数,统计结果以指定格式 ...

  4. 第二次作业(WordCount)

    1 Github项目地址:https://gitee.com/DamonGetup/WordCount/tree/master 2 对程序设计语言源文件统计字符数.单词数.行数,统计结果以指定格式输出 ...

  5. 作业二Wordcount

    1,github地址 https://github.com/dtneverdie/word-count 2,PSP表格 3,解题思路 先从理论上判断应该先将文件内的字符全部读入,然后根据分隔符来进行单 ...

  6. 第2周个人作业:WordCount

    Github地址: https://github.com/hddddd/Wordcount 1.PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 ...

  7. 结对作业二——WordCount进阶版

    软工作业三 要求地址 作业要求地址 结对码云项目地址 结对伙伴:秦玉 博客地址 PSP表格 PSP2.1 个人开发流程 预估耗费时间(分钟) 实际耗费时间(分钟) Planning 计划 10 7 · ...

  8. 第二周个人作业:WordCount

    github地址 https://github.com/lzwk/WordCount PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 40 · ...

  9. 软件测试第2周个人作业:WordCount编码测试

    一.Github地址 https://github.com/zhouyubei/WordCount 二.PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning ...

随机推荐

  1. SQL Server @@参数一览表

    --返回 SQL Server 自上次启动以来尝试的连接数,无论连接是成功还是失败. SELECT @@CONNECTIONS AS CONNECTIONS --返回 SQL Server 自上次启动 ...

  2. div转svg svg转canvas svg生成图片及图片下载 分享

    链接来自:http://blog.csdn.net/u010081689/article/details/50728854

  3. Python的递归

    递归 是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象.在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知.使用递归解决问题,思路清晰,代码少.但是在主流高 ...

  4. 如何在windows中部署Gitblit

    1.安装Java环境 2.下载Gitblit压缩包 http://gitblit.com/ 3.解压后进行配置 编辑gitblit-1.8.0\data\gitblit.properties文件 gi ...

  5. 【附3】springboot源码解析 - 构建SpringApplication

    package com.microservice.framework; import org.springframework.boot.SpringApplication; import org.sp ...

  6. CVS导出&&自定义Attribute的使用

    1.cvs导出:List转为byte[] /// <summary> /// CvsExport帮助类 /// </summary> public static class C ...

  7. Nlog、elasticsearch、Kibana以及logstash在项目中的应用(二)

    上一篇说如何搭建elk的环境(不清楚的可以看我的上一篇博客http://www.cnblogs.com/never-give-up-1015/p/5715904.html),现在来说一下如何用Nlog ...

  8. Ubuntu16.04 安装 Django

    pip2 install django==1.11 或者手动安装: 链接:https://pan.baidu.com/s/1uQJD-pON7gELoCC2TwYnEw 提取码:flgg cd Dja ...

  9. Linux 安装iostat命令

    首先跟你的Linux系统有关 我用的是Red hat系统 记录下最快的安装iostat命令的方式 起初想查看iostat, 提示 iostat: command not found 于是,通过yum ...

  10. Ubuntu16.04下的主题美化

    1.先下载桌面外观管理工具 sudo apt-get install unity-tweak-tool 2.gnome工具 sudo apt-get install gnome-tweak-tool ...