码云项目地址

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

代码说明:
//取出输出文件名
public static String getOutFileName(String canshu){
boolean isNewFile = canshu.contains(" -O");
String fileName = null;
if(isNewFile){ fileName = canshu.substring(canshu.indexOf("-O")+3);}
return fileName;
}
//文件操作,将信息写入文件
public static void writeFile(String fileName,int data){
File file = new File(fileName);// 要写入的文件路径
if (!file.exists()) {// 判断文件是否存在
try {
file.createNewFile();// 如果文件不存在创建文件
System.out.println("文件"+file.getName()+"不存在已为您创建!");
} catch (IOException e) {
System.out.println("创建文件异常!");
e.printStackTrace();
}
} else {
System.out.println("文件"+file.getName()+"已存在!");
} FileOutputStream fos = null;
PrintStream ps = null;
try {
fos = new FileOutputStream(file,true);// 文件输出流 追加
ps = new PrintStream(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String string = data+"\r\n";// +换行
ps.print(string); // 执行写操作
ps.close(); // 关闭流 System.out.println("文件写入完毕!");
} //参数分析
public Parameter getParameter() {
String para[] = Tools.getParameters(this.string);
Parameter parameter = new Parameter();
for(String opt : para){ switch (opt){
case "-c":
parameter.setShowCharCount(true);
break;
case "-W":
parameter.setShowStringCount(true);
break;
case "-l":
parameter.setShowlineCount(true);
break;
case "-O":
parameter.setOutFileName(Tools.getOutFileName(this.string).replace(" ",""));
break;
default:
if(!parameter.getOutFileName().equals(opt)){ parameter.setFileName(opt); System.out.println(parameter.getOutFileName()+":"+opt);} }
} return parameter;
}
//这两个一个是写入文件,另外一个是对参数进行分析。

思路:直接用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. oralce存储过程实现不同用户之间的表数据复制

    create or replace procedure prc_test123 is temp_columns ); sqltemp ); cursor cur is select table_nam ...

  2. CSS骚操作

    获取当前HTML页面根元素的字体大小 getComputedStyle(document.getElementsByTagName("html")[0],undefined).fo ...

  3. [置顶] 谷歌大牛 Jeff Dean 是如何成为互联网战神的

    谷歌大牛 Jeff Dean 是如何成为互联网战神的 原文链接: Will Oremus   翻译: 伯乐在线- Lex Lian 译文链接: http://blog.jobbole.com/4772 ...

  4. 51nod 1302(贪心+平衡树)

    能推出一些性质. 矩形肯定是全部躺着或全部立着比较优. 如图x1显然等于x2,y1显然小于y2. 所以我们就让它们都躺下吧. 然后一定有一组的宽为宽最小的矩形的宽. 然后我们枚举另一组的宽最小的矩形. ...

  5. splay 文艺平衡树 (数据结构)

    题目大意:略 splay维护区间翻转裸题,为了减少不必要的麻烦,多插入两个点,分别是0和n+1 每次找区间的第K个值,就在splay上二分即可 顺便学了一下splay的完美建树,而且splay有一些小 ...

  6. js内置对象——Math

    Math()是JavaScript的内置对象(对于内置对象的理解,会单独写文章说明),包含了很多数学相关的方法: 常用方法: 1 Math.ceil(x) //取最近的最大整数返回 2 Math.fl ...

  7. 2015 Multi-University Training Contest 4 hdu 5338 ZZX and Permutations

    ZZX and Permutations Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/O ...

  8. http响应的封装

    响应的封装: 资源的初始化 分析请求响应信息,根据状态响应码,发送不同的状态码 浏览器根据状态信息,做出不同的执行 构建正文,也就是根据浏览器客服端的请求发送响应信息: 发送响应:code 是状态码, ...

  9. sqlite学习笔记11:C语言中使用sqlite之删除记录

    最后一节,这里记录下怎样删除数据. 前面全部的代码都继承在这里了,在Ubuntu14.04和Mac10.9上亲測通过. #include <stdio.h> #include <st ...

  10. 【Linux】进程调度概述

    1 可运行队列 (基于实时进程调度) 调度程序中最主要的数据结构式运行队列(runqueue).可运行队列是给定处理器上的可运行进程的链表,每一个处理器一个. 每一个可投入运行的进程都唯一的归属于一个 ...