第一周作业改进

解决格式,还有当有标点符号时统计出现错误.

github:https://github.com/dailinlernhard/wordnum/blob/master/Compute.java

package wordnum;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.*;
public class Compute {

public static void main(String[] args) throws IOException {

System.out.println("输入文件名及路径");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String file=null;
file=br.readLine();
System.out.println(file);
word(file);
}
/*
* 对单词进行个数统计,hashtable
*/
public static void word(String file) throws IOException{
BufferedReader br=new BufferedReader( new FileReader(file));
String line=null;
Hashtable ht=new Hashtable();
/*
* 读取文件,并切分,把单词存入hashtable
*/
while((line=br.readLine())!=null){

String []splitword=null;
splitword=line.split("[\\.\\s\\?\\‘\\,]");
for(String st:splitword){
String key=st;
if(ht.containsKey( key)){
int num=((Integer)ht.get(key)).intValue()+1;
ht.put(key,new Integer(num));
}
else ht.put(key, new Integer(1));
}

BufferedWriter bw=new BufferedWriter(new FileWriter("D:/Desktop.txt"));
/*
* 循环写入
*/
for(Iterator it=ht.keySet().iterator();it.hasNext();){

String key= (String) it.next();
Object value = ht.get(key);
System.out.println(key+":"+value);
String a=key;
a+=":";
a+=value.toString();
bw.write(a);
bw.flush();
bw.newLine();
}
}
}
}

时间: 2024-10-19 15:27:19

第一周作业改进的相关文章

20179214 2017-2018-2 《密码与安全新技术》第一周作业

20179214 2017-2018-2 <密码与安全新技术>第一周作业 课程:<密码与安全新技术> 班级: 201792 姓名: 刘胜楠 学号:20179214 上课教师:谢四江 上课日期:2018年3月15日 必修/选修: 选修 学习内容总结 ###量子密码技术简介 量子密码技术是量子物理学和密码学相结合的一门新兴学科,它是利用量子物理学方法实现密码思想的一种新型密码体制. 量子密码技术是一种实现保密通信的新方法,它比较于经典密码的最大优势是具有可证明安全性和可检测性.单词量子

机械传动控制第一周作业

机械传动控制第一周作业 现代机电传动控制要求工程师有较为广阔的知识面.在产品设计的过程中,既要充分地运用自己的专业知识,也要与其他学科进行协同设计,现代机电控制靠纯机械已经不能达到复杂的技术要求,它还需要电气和软件的共同作用,做到机电软一体化.在完成一件机械设备的性能要求后,成本的问题也是必须要充分考虑的,设计时要考虑用材成本,设计过程中要考虑能耗的均衡问题,经济因素是机械设计中一个需要权衡的问题.同时,创新也是必须的,无尽的重复和运用虽说可以使一个技能得到完善,但是创新才能使其真正的发展. 现

解题报告——2018级2016第二学期第一周作业

解题报告——2018级2016第二学期第一周作业 D 算24 题目描述 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式.现在的问题是,是否存在一种方式使得得到的表达式的结果等于24. 这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法). 比如,对于5,5,5,1,我们知道5 * (5 – 1 / 5) = 24,因此可以得到24.又比如,对于1,1,4,2,我们怎么都不能得到24. 输入 输入数据包括多

软件工程第一周作业 - 导航

本周作业内容链接 软件工程第一周作业 - 关于计算机.职业生涯 http://www.cnblogs.com/vector121/p/7496387.html

2017-2018-2 20179215《网络攻防实践》第一周作业

<网络攻防开发与实践> 第一周作业 一.对师生关系的理解 ?对于研究生和导师的关系就不像中学或大学,仅仅是以传授知识为主,研究生阶段,导师起到引路的作用,给学生指点以及方向,而不仅仅是教学,传授的更应该是方法,因为此时研究生阶段学生有了自己的思想,对事物能进行更深刻的思考,想法往往更加新颖,所以导师引领方向,学生开拓创新. 二.如何提问 顺应:从对方观点中延展出你的问题,不要另起炉灶: 提升:把对方所讲的内容,归纳.升华.拔高,成为更具有概括性,更深刻的大问题,再从这个大问题出发提出你自己具体

欧娇2013551707第一周作业

11. Software,  Software Engineering 等名词的来源 ,请问 “软件” 和 “软件工程” 这些词汇是如何出现的 - 何时.何地.何人 软件:软件是计算机的组成部分,由一系列按照特定顺序组织的计算机数据和指令的集合.计算机出现之前,就已经有很多数学家为计算机软件的出现打下了坚实的数学理论基础,正是有了这些数学理论作为基础,加上当时电子技术的突飞猛进,二者的结合,才产生了计算机这样一个化时代的伟大产物.软件的发展史其实就是在裸机(硬件)和终端用户之间不断沉淀(平台化)

老男孩Linux全程班3期 第一周作业

  大家好,我是一个来自沈阳的IT农民工<纯屌丝>. 2012年没有毕业的时候就选择了离校实习,那时候觉得学校学习的东西没有在社会上学习东西多.一个人拿着行李去了广东,就是想多学习学习在课本上没有的东西并且去外边见一见.在毕业的时候又回到了东北,拿着自己的毕业证来到了沈阳,在沈阳的第一份工作是软件实施,不管怎样在这份工作中我学到了很多东西,也遇到了很多帮助自己的大哥.大姐,但是为了自己的生活我在一年之后选择了离职.很多不舍但是没有办法.然后来到了现在的公司,也不能说现在的公司,因为周一的时候被

软件过程与项目管理(第一周作业)

一. 15选1的第3题: 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些,各有什么优缺点?(提示:搜索一下Microsoft TFS.GitHub.Trac.Bugzilla.Rationale,Apple XCode)? Microsoft TFS(Team Foundation Server): 优点: 任务版上能将需求.项目进度一览无余,对于小团队而言,比甘特图更有用 集成了项目管理.版本控制.BUG 跟踪,能有效实现 SCRUM 能与 VS 无缝接合 缺点: 搭建.维护t

软件过程与项目管理——第一周作业(2)

1.选一种你比较熟悉的软件,点评它的优缺点,并描述此类软件的发展历史 •  系统软件:操作系统.设备驱动程序.工具软件等 •  应用软件:用户使用它们来完成工作,从管理核电厂到写文章,或者通信.游戏.浏览网页.播放视频等. •  恶意软件:软件病毒. 答:熟悉的软件:windows操作系统 优点: (1)       简单明了,直观,图形化界面能够更加便捷的对文件进行处理 (2)       多任务操作系统 缺点: (1)       安全性不够好,容易被黑客破解从而导致信息的丢失 (2)