github地址https://github.com/JUNYU217/2016-03-08

开发语言:Java

开发工具:UltraEdit

|| 为月末了,网费欠了...很抱歉的拖了那么久的作业   QAQ  ||

------个人小结------

通过这次程序的编写,我把java自学了一遍(原先只会用c++..)通过百度了解到了map的使用方法 ,差强人意,不过总归是编出来了。

------作业要求------

(1). 实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。

    • 字母: A-Z, a-z.
    • 字母数字: A-Z, a-z, 0-9.
    • 分隔符: 字母数字
    • 单词:
    • 包含有4个4个以上的字母
    • 单词分隔符分开
    • 如果一个字符串包含_非_字母数字,则不是单词
    • 单词大小写不敏感,例如 “file”、“FILE”和“File”可以看作同一个单词
    • 单词必须是字母开头,“file123”是单词,“123file”不是单词

(2). 示例

输入

Word is case insensitive, i.e. “file”, “FILE” and “File” are considered the same word.

输出

file: 3

word: 2

case: 1

considered: 1

insensitive: 1

same: 1

------程序编写------

先将测试的文段改造一下,并将其分割开

  text = text.replaceAll("[\\‘‘.“”,,]", "");  //删除字符串中的标点符号
text = text.toLowerCase();//将文字全部转换为小写
StringTokenizer take = new StringTokenizer(text); //StringTokenizer是一个用来分隔String的应用类

将分割开的单词存入到map中

while( take.hasMoreElements() )
{ word=take.nextToken() ;
if(word.length()>=4)
{
Integer count = map.get(word);
if(count == null)
{
map.put(word,1);
}
else
{
map.put(word,++count);
}
}
i++;
}

通过遍历打印出结果

for(Map.Entry<String,Integer> entry : map.entrySet())
{
System.out.println(entry.getKey() +" : "+ entry.getValue());
}

------程序运行------

测试数据:Word is case insensitive, i.e. “file”, “FILE” and “File” are considered the same word.

测试结果:

探索软件工程道路上的我III (Θ∀Θ#)的更多相关文章

  1. 探索软件工程道路上的我 V (Θ∀Θ#)

    开发语言:Java 开发工具:UltraEdit 小伙伴博客:http://www.cnblogs.com/hyating/ github地址:https://github.com/JUNYU217/ ...

  2. 探索软件工程道路上的我 IV (Θ∀Θ#)

    开发语言:Java 开发工具:UltraEdit 小伙伴博客:http://www.cnblogs.com/hyating/ github地址:https://github.com/JUNYU217/ ...

  3. 探索软件工程道路上的我II (Θ∀Θ#)

    ------作业要求------ 第一版本程序Prog1:+ 给定一个数组,实现数组元素求和:具体要求:实现对一维数组(a[100])的所有元素相加运算.+ 数据准备:a)数组长度:100:b)数组数 ...

  4. 软件工程线上课程(C语言实践篇)学习心得总结

    林牧 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 软件工程的理 ...

  5. VR电影这一新概念在中国电影道路上的探索

    在12月的一个下午,Kevin Geiger正在进行关于VR中的故事讲述的一次再普通不过的演讲.地点是北京电影学院里一个围的水泄不通的场馆,他鼓励大家都来参与电影制作,无论是导演.演员还是电影行业的任 ...

  6. 如何在树莓派上运行雷神之锤III

    昨天在树莓派上尝试运行了一下雷神之锤III,流畅运行,效果不错~~~ RPI这个小身板的东东总是可以给你带来惊喜,这里记录一下步骤以备后续再用 先确保RPI的程序和固件都已经更新 sudo apt-g ...

  7. 规划(纪念我在ACM道路上的一年)

    现在已经是晚上一点了,我早早的躺在床上,不能入睡,因为睡觉前看了一下我们学校今年区域赛的成绩总结,派出八次队伍,七个铜-- 再加上这两天ACM迎新杯的筹备过程的问题,让我产生了深深的思考-- 去年司老 ...

  8. CLR探索应用程序域世界(上):Windbg SOS剖析揭示域世界

    在CLR的世界中,有一系列的令人Amazing的技术和架构.其中,CLR对应用程序在内存中内存分配,执行模型,程序之间的交互等一系列的技术,值得每一个致力于DotNet平台的技术人员深究. 编程人员在 ...

  9. Python图形编程探索系列-04-网上图片与标签组件的结合

    跳转到自己的博客 任务设定 任务:从网上找到一张图片,然后将其显示在标签上? 网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.j ...

随机推荐

  1. linq 日期分组统计

     #region        string Condition(DateTime date, string type)        {            if (date == null)   ...

  2. Java—多线程编程

    一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 进程:一个进程包括由操作系统分配的内存空间,包含一个或多个线程.一个线程不能独立的存 ...

  3. c#实现远程操作svn

    /// <summary> /// 本地svn服务器地址 /// </summary> private static string localSVN = Configurati ...

  4. 解决OS X系统连接VPN后无法访问内网资源的问题

    该问题是第一次使用OS X系统连接VPN遇到的问题,现象是连接VPN成功,但无法访问公司的内网资源. 主要原因还是VPN设置上的问题,在系统偏好设置中打开VPN连接,里面有个高级设置,如图: 点击高级 ...

  5. MergeRecord_C++中map的使用

    //============================================================================ // Name : TTTest.cpp ...

  6. MVC模式与Android

    MVC模式是软件工程中的一种软件架构,“Model-View-Controller”的缩写,中文翻译为“模型-视图-控制器”. MVC模式将一个交互式应用程序分为3各组件: 1.Model(模型):业 ...

  7. 一个比较通用的makefile

    .PHONY : all clean DEBUG := YES CC := gcc CXX := g++ LD := g++ AR := ar rc HOME_PATH := $(realpath . ...

  8. Java条件语句练习

    /*System.out.println("请输入三个数字:");//输入三个数字,返回最大的那个. int a,b,c,big; Scanner d = new Scanner( ...

  9. 1472. Martian Army

    http://acm.timus.ru/problem.aspx?space=1&num=1472 题目大意: 一颗树,根节点(1) 的值为 1.0,所有叶子节点的值为 0.0 ,其他节点值任 ...

  10. Swift运算符

    运算符分类 运算符分类 一元运算符 1.负号运算符 var number1 = var number2 = -number1 2.正号运算符 //正号运算符不做任何操作 var number3 = + ...