worldcount
|
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的更多相关文章
- Hadoop worldcount
以前的公司和现在的公司,都用到了hadoop和hdfs.一直没入门,今天照着官网写了一个hadoop worldcount demo 1. hadoop是一个框架,什么是框架,spring是一个框架. ...
- WorldCount 结对项目
合作者:201631062501,201631062129 代码地址:https://gitee.com/guilinyunya/WorldCount 伙伴博客地址:https://www.cnblo ...
- hadoop worldcount小程序
首先在hadoop中建立input文件夹放几个文件,里边写点东西.比如我放了三个,分别写的是 第一个 hello hadoop bye hadoop 第二个 hello world bye world ...
- 用scala的actor并发编程写一个单机版的WorldCount
前言:最近一段时间比较忙,也是比较懒了吧,好长时间没写博客了,新的一年到来,给自己一个小目标,博客坚持写下去,分享一下这历程!废话不多说,开始正题咯(希望大家喜欢!) 首先这算是一个scala程序的入 ...
- 3、SpringBoot集成Storm WorldCount
RandomSentenceSpout //数据源,在已知的英文句子中,随机发送一条句子出去. public class RandomSentenceSpout extends BaseRichSpo ...
- WorldCount代码检查与优化——软件测试第三次作业
合作者:201631062222,201631062232 代码地址:https://gitee.com/biubiubiuLYQ/ceshi_secend 本次作业链接地址:https://edu. ...
- spark 快速入门 java API
Spark的核心就是RDD,对SPARK的使用入门也就是对RDD的使用,包括action和transformation 对于Java的开发者,单单看文档根本是没有办法理解每个API的作用的,所以每个S ...
- Storm的ack机制在项目应用中的坑
正在学习storm的大兄弟们,我又来传道授业解惑了,是不是觉得自己会用ack了.好吧,那就让我开始啪啪打你们脸吧. 先说一下ACK机制: 为了保证数据能正确的被处理, 对于spout产生的每一个tup ...
- Hadoop之倒排索引
前言: 从IT跨度到DT,如今的数据每天都在海量的增长.面对如此巨大的数据,如何能让搜索引擎更好的工作呢?本文作为Hadoop系列的第二篇,将介绍分布式情况下搜索引擎的基础实现,即“倒排索引”. 1. ...
随机推荐
- django patch
import datetime import pytz from django.apps import AppConfig from django.db.models.fields import Da ...
- Is jQuery Still Relevant in 2018?
DOM Selection $('.someclass') document.querySelector('.someclass') document.querySlectorAll('.somecl ...
- vue2.0变化(转载)
原文链接:https://www.cnblogs.com/itbainianmei/p/6062249.html 1.每个组件模板template,不再支持片段代码 之前: <template& ...
- UVA272-TEX Quotes(紫书例题3.1)
TeX is a typesetting language developed by Donald Knuth. It takes source text together with a few ty ...
- LVS负载均衡三种模式的实现
何为lvs负载均衡? lvs负载均衡(linux virtual server)又名linux虚拟服务器.由章文嵩博士主导的负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux ...
- 开放个人电脑端口[Windows]
先打开控制面板
- Laravel源码解析之从入口开始
前言 提升能力的方法并非使用更多工具,而是解刨自己所使用的工具.今天我们从Laravel启动的第一步开始讲起. 入口文件 laravel是单入口框架,所有请求必将经过index.php define( ...
- ES6之用let,const和用var来声明变量的区别
var(掌握) 不区分变量和常量 用var声明的变量都是变量,都是可变的,我们可以随便对它进行运算操作.这样当多个人进行同一个项目时,区分变量和常量会越来越难,一不小心就会把设计为常量的数据更改了 ...
- [剑指offer] 1. 二维数组中的查找 (数组)
注意是有序数组!! 思路: 1.利用二维数组由上到下,由左到右递增的规律,选取右上角或者左下角的元素a[m][n]与target进行比较, 当target小于元素a[m][n]时,那么target必定 ...
- 【【henuacm2016级暑期训练】动态规划专题 O】Robot Rapping Results Report
[链接] 我是链接,点我呀:) [题意] 让你确定一个最小的k 使得1..k这些比赛的结果能够推导出所有人之间的实力大小 [题解] 如果关系越多.那么就越能确定所有人之间的大小关系. (多一点也能唯一 ...