码云项目地址

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

20

20

Estimate

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

60

70

Development

开发

60

60

Analysis

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

30

20

Design Spec

生成设计文档

20

20

Design Review

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

15

20

Coding Standard

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

10

10

Design

具体设计

20

30

Coding

具体编码

40

60

Code Review

代码复审

30

20

Test

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

20

10

Reporting

报告

10

10

Test Report

测试报告

10

10

Size Measurement

计算工作量

20

10

Postmortem & Process Improvement Plan

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

20

25

合计

385

395

  1. 代码说明:
  2. //取出输出文件名
  3. public static String getOutFileName(String canshu){
  4. boolean isNewFile = canshu.contains(" -O");
  5. String fileName = null;
  6. if(isNewFile){ fileName = canshu.substring(canshu.indexOf("-O")+3);}
  7. return fileName;
  8. }
  9. //文件操作,将信息写入文件
  10. public static void writeFile(String fileName,int data){
  11. File file = new File(fileName);// 要写入的文件路径
  12. if (!file.exists()) {// 判断文件是否存在
  13. try {
  14. file.createNewFile();// 如果文件不存在创建文件
  15. System.out.println("文件"+file.getName()+"不存在已为您创建!");
  16. } catch (IOException e) {
  17. System.out.println("创建文件异常!");
  18. e.printStackTrace();
  19. }
  20. } else {
  21. System.out.println("文件"+file.getName()+"已存在!");
  22. }
  23.  
  24. FileOutputStream fos = null;
  25. PrintStream ps = null;
  26. try {
  27. fos = new FileOutputStream(file,true);// 文件输出流 追加
  28. ps = new PrintStream(fos);
  29. } catch (FileNotFoundException e) {
  30. e.printStackTrace();
  31. }
  32. String string = data+"\r\n";// +换行
  33. ps.print(string); // 执行写操作
  34. ps.close(); // 关闭流
  35.  
  36. System.out.println("文件写入完毕!");
  37. }
  38.  
  39. //参数分析
  40. public Parameter getParameter() {
  41. String para[] = Tools.getParameters(this.string);
  42. Parameter parameter = new Parameter();
  43. for(String opt : para){
  44.  
  45. switch (opt){
  46. case "-c":
  47. parameter.setShowCharCount(true);
  48. break;
  49. case "-W":
  50. parameter.setShowStringCount(true);
  51. break;
  52. case "-l":
  53. parameter.setShowlineCount(true);
  54. break;
  55. case "-O":
  56. parameter.setOutFileName(Tools.getOutFileName(this.string).replace(" ",""));
  57. break;
  58. default:
  59. if(!parameter.getOutFileName().equals(opt)){ parameter.setFileName(opt); System.out.println(parameter.getOutFileName()+":"+opt);}
  60.  
  61. }
  62. }
  63.  
  64. return parameter;
  65. }
  66. //这两个一个是写入文件,另外一个是对参数进行分析。

思路:直接用java的一些函数实现

类:主要有参数类Parameter,结果保存类Result,另外一个工具类Tool,还有个wordCounter类

测试过程:简单测试重要的函数,解析参数,文件读取,与文件写入

说明:这次主要是简单实现基础功能

worldcount的更多相关文章

  1. Hadoop worldcount

    以前的公司和现在的公司,都用到了hadoop和hdfs.一直没入门,今天照着官网写了一个hadoop worldcount demo 1. hadoop是一个框架,什么是框架,spring是一个框架. ...

  2. WorldCount 结对项目

    合作者:201631062501,201631062129 代码地址:https://gitee.com/guilinyunya/WorldCount 伙伴博客地址:https://www.cnblo ...

  3. hadoop worldcount小程序

    首先在hadoop中建立input文件夹放几个文件,里边写点东西.比如我放了三个,分别写的是 第一个 hello hadoop bye hadoop 第二个 hello world bye world ...

  4. 用scala的actor并发编程写一个单机版的WorldCount

    前言:最近一段时间比较忙,也是比较懒了吧,好长时间没写博客了,新的一年到来,给自己一个小目标,博客坚持写下去,分享一下这历程!废话不多说,开始正题咯(希望大家喜欢!) 首先这算是一个scala程序的入 ...

  5. 3、SpringBoot集成Storm WorldCount

    RandomSentenceSpout //数据源,在已知的英文句子中,随机发送一条句子出去. public class RandomSentenceSpout extends BaseRichSpo ...

  6. WorldCount代码检查与优化——软件测试第三次作业

    合作者:201631062222,201631062232 代码地址:https://gitee.com/biubiubiuLYQ/ceshi_secend 本次作业链接地址:https://edu. ...

  7. spark 快速入门 java API

    Spark的核心就是RDD,对SPARK的使用入门也就是对RDD的使用,包括action和transformation 对于Java的开发者,单单看文档根本是没有办法理解每个API的作用的,所以每个S ...

  8. Storm的ack机制在项目应用中的坑

    正在学习storm的大兄弟们,我又来传道授业解惑了,是不是觉得自己会用ack了.好吧,那就让我开始啪啪打你们脸吧. 先说一下ACK机制: 为了保证数据能正确的被处理, 对于spout产生的每一个tup ...

  9. Hadoop之倒排索引

    前言: 从IT跨度到DT,如今的数据每天都在海量的增长.面对如此巨大的数据,如何能让搜索引擎更好的工作呢?本文作为Hadoop系列的第二篇,将介绍分布式情况下搜索引擎的基础实现,即“倒排索引”. 1. ...

随机推荐

  1. 路飞学城Python-Day24(practise)

    本章总结 练习题 什么是C/S架构? C指的是client(客户端软件),S指的是Server(服务端软件)

  2. [luogu2151 SDOI2009] HH去散步 (矩阵快速幂)

    传送门 题目描述 HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又因为HH ...

  3. linux系统添加环境变量,node.js forever 守护进程添加环境变量

    1.node.js 守护进程组件 forever 安装 npm install forever -g 安装完成后截图: 2.安装完成后在控制台输入 forever 出现 -bash: forever: ...

  4. snprintf

    snprintf(),函数原型为int snprintf(char *str, size_t size, const char *format, ...).   将可变参数 “…” 按照format的 ...

  5. Git学习总结(9)——如何构建你自己的 Git 服务器

    现在我们将开始学习如何构建一个Git服务器,如何在具体的事件中写一个针对特定的触发操作的自定义Git(例如通告),如何发布你的代码到一个网站. 目前为止,用户对Git的焦点主要在Git的使用上.这篇文 ...

  6. CODEVS——T 1005 生日礼物

    http://codevs.cn/problem/1005/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...

  7. Android ImageView 不显示JPEG图片 及 Android Studio中怎样引用图片资源

    Android ImageView 不显示JPEG图片 今天在写一个小实例,ImageView在xml里面设置的是INVISIBLE,在代码里须要设置成setVisibility(View.VISIB ...

  8. 51nod-1346: 递归

    [传送门:51nod-1346] 简要题意: 给出一个式子a[i][j]=a[i-1][j]^a[i][j-1] 给出a[1][i],a[i][1](2<=i<=131172) 有n个询问 ...

  9. codeblocks的c程序目录结构与执行过程

    执行过程 编译 形成 .o .obj 连接 形成.exe文件 执行 目录结构 主程序main.c #include <stdio.h> #include <stdlib.h> ...

  10. Python一行代码获得IP地址

    比较靠谱的方法, 通过构造UDP包获得本机IP地址   python -c "import socket;print([(s.connect(('8.8.8.8', 53)), s.gets ...