1、Github项目地址
2、PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
30 |
40 |
• Estimate |
• 估计这个任务需要多少时间 |
20 |
30 |
Development |
开发 |
410 |
500 |
• Analysis |
• 需求分析 (包括学习新技术) |
70 |
90 |
• Design Spec |
• 生成设计文档 |
15 |
20 |
• Design Review |
• 设计复审 |
20 |
25 |
• Coding Standard |
• 代码规范 (为目前的开发制定合适的规范) |
10 |
25 |
• Design |
• 具体设计 |
50 |
80 |
• Coding |
• 具体编码 |
400 |
350 |
• Code Review |
• 代码复审 |
20 |
30 |
• Test |
• 测试(自我测试,修改代码,提交修改) |
60 |
90 |
Reporting |
报告 |
45 |
50 |
• Test Repor |
• 测试报告 |
10 |
30 |
• Size Measurement |
• 计算工作量 |
20 |
30 |
• Postmortem & Process Improvement Plan |
• 事后总结, 并提出过程改进计划 |
30 |
35 |
合计 |
|
1210 |
1750 |
3、解题思路描述
由于自己的Java知识学习不到位,所以题目对我来说还是有点难度,我的解题思路是这样的,实现从文件中读入英文文章,统计单词个数,并按值从小到大输出,存储过滤后单词的列表,过滤出只含有字母的词语,存储单词计数信息,key值为单词,value为单词数,进行单词的词频统计,然后按值进行排序,按value的大小进行排序,最后进行输出。
4、代码规范制定链接
5、设计与实现过程
- 读取文件内容,存储过滤后单词的列表,过滤出只含有字母的词语,去除长度为0的行
public static void main(String[] args) throws Exception {
String number = null;
List<String> list1 = new ArrayList<String>();
BufferedReader br = new BufferedReader(new FileReader("E:/oldman.txt"));
while((number = br.readLine()) != null){
String[] count = number.split("[^a-zA-Z]");
for (String word : count) {
if(word.length() != 0) {
list1.add(word);
}
}
}
- 存储单词计数信息,key值为单词,value为单词数,单词的词频统计
Map<String, Integer> wordsCount = new TreeMap<String,Integer>();
for (String li : list1) {
if(wordsCount.get(li) != null){
wordsCount.put(li,wordsCount.get(li) + 1);
}
else{
wordsCount.put(li,1);
}
}
SortMap(wordsCount);
}
public static void SortMap(Map<String,Integer> oldmap){
ArrayList<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(oldmap.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){
@Override
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
return o2.getValue() - o1.getValue();
}
});
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i).getKey()+ ": " +list.get(i).getValue());
}
}
6、性能改进
7、单元测试
8、异常处理说明
9、心路历程与收获
做完这次作业发现自己还是有很多不会,对java掌握的还是不是很熟练,接下来还是要加强平时的代码练习,