`

告诉你什么是优雅的代码(3)------山寨拼音分词

    博客分类:
  • Java
 
阅读更多
早上看见一帖《拼音语法检查》,感觉比较啰嗦,也比较低效。于是自己也写了一个,在此拿出来让大家笑一下。鉴于此帖可能很快被隐藏,要研究代码的就尽快了。不要跟我说没有处理不存在的词会报异常,这些细节就留给懒惰的你了。

//你来迟了。
	
	public static void main(String[] args) {
		PinyingTree tree = new PinyingTree();
		tree.init();
		tree.study("zhong");
		tree.study("guo");
		tree.study("ren");
		tree.study("dou");
		tree.study("shi");
		tree.study("huo");
		tree.study("lei");
		tree.study("feng");
		tree.study("chen");
		tree.study("gong");
		tree.study("hen");
		tree.study("niu");
		tree.study("bi");
		tree.study("mei");
		tree.study("you");
		tree.study("shen");
		tree.study("me");
		tree.study("bu");
		tree.study("ke");
		tree.study("neng");
		tree.study("zhi");
		tree.study("yao");
		tree.study("ni");
		tree.study("qu");
		tree.study("zuo");
		tree.study("de");
		
		List<String> result = tree.parse("zhongguorenhenniubizhiyaoniquzuomeiyoushenmeshibukenengde");
		for (String match : result) {
			System.out.print(match + " ");
		}
	}
	
}







运行结果:
zhong guo ren hen niu bi zhi yao ni qu zuo mei you shen me shi bu ke neng de 
分享到:
评论
8 楼 leon_a 2010-09-07  
假设字典中加入xian,xi,an
xian,你是分成xi'an 还是xian呢。根本没考虑这种情况吧
7 楼 xinchi21cool 2010-09-07  
优雅的没有注释,不错
6 楼 caoyangx 2010-09-07  
哪里体现出代码优雅?
希望看出的朋友指点下。
5 楼 wangzaixiang 2010-09-07  
正则表达式,不就是
(zhong|guo|ren|min|hen|li|hai)*

把所有可能的组合都作为一个候选,组织成为一个正则表达式,然后进行匹配即可。

可以肯定的说,这样写的代码如果论优雅,那么作者的代码只能算是”老爷破车“了,估计代码量还不到作者的1/5。
4 楼 captmjc 2010-09-07  
拼音分词的话,一个正则就可以了,以前写过,太晚了,明天找找看
3 楼 yangxinxyx 2010-09-06  
分词~~!
2 楼 imacback 2010-09-06  
啥意思,没看明白呢。下来看看。
1 楼 鱼言风语 2010-09-06  
自恋。。。

相关推荐

    告诉你什么是优雅的代码(9)----山寨版猜珍珠

    NULL 博文链接:https://yangguo.iteye.com/blog/778866

    编译原理-山寨版-简化C语言编译器-简单易学

    3. **语义分析**:在构建AST后,编译器进行语义分析,检查代码的逻辑正确性,如类型匹配、变量声明等。同时,它还可能进行类型推断和优化。 4. **中间代码生成**:编译器通常会生成一种中间代码,如三地址码或四元...

    JAVA山寨版聊天源代码

    **JAVA山寨版聊天源代码详解** 在JAVA编程领域,网络编程是不可或缺的一部分,尤其是在开发实时交互的应用程序,如聊天软件时。"JAVA山寨版聊天源代码"是一个学习和理解JAVA网络编程的好资源,它提供了从基础到进阶...

    J-LINK(山寨也可以)固件修复

    本文将深入探讨"J-LINK(山寨也可以)固件修复"这一主题,教你如何对J-LINK进行最简单的修复和升级,即使面对的是非官方的“山寨”版本。 首先,我们要理解J-LINK固件的重要性。固件是存储在设备硬件中的软件,它...

    43M-172个-山寨iphone4游戏soft

    3. **操作系统兼容性**:由于是“山寨”设备,这些游戏可能并非运行在iOS上,而是基于Android或其他第三方操作系统。这意味着游戏可能需要进行额外的优化以适应非标准平台,可能涉及到图形渲染、内存管理、输入处理...

    走出山寨-MTK芯片开发指南PDF5

    走出山寨-MTK芯片开发指南.part05.rar 走出山寨-MTK芯片开发指南.part05.rar

    山寨版--当当网源程序

    【Hibernate】是一个对象关系映射(ORM)框架,它允许开发者使用面向对象的方式操作数据库,消除了SQL与Java代码之间的耦合。Hibernate通过XML或注解方式定义对象和数据库表之间的映射关系,使得数据库操作变得更加...

    山寨索尼M3 3.2固件 sony-M3

    3. **准备工具**:通常,你需要一个能够连接设备的电脑和相应的刷机工具。对于山寨设备,可能还需要特殊的驱动程序才能被电脑识别。 4. **进入刷机模式**:根据设备的说明书,将设备置于刷机模式,这通常通过特定的...

    走出山寨-MTK芯片开发指南 第2部分 总共2部份

    走出山寨-MTK芯片开发指南 第2部分 总共2部份

    山寨酷狗3.0(含C语言源代码)

    "山寨酷狗3.0(含C语言源代码)"是一个基于C语言开发的音乐播放器项目,它旨在模仿酷狗音乐的功能和用户体验。这个项目对于学习C语言编程、软件开发流程以及多媒体应用开发的学生来说,是一个很好的实践案例。C语言是...

    走出山寨-MTK芯片开发指南 压缩版.pdf

    走出山寨-MTK芯片开发指南 压缩版.pdf

    java版山寨QQ项目源码

    java版山寨QQ项目 里面有四个压缩包 QQ服务器端.rar QQ客户端.rar 改进QQ客户机服务器视频实现.rar Q第三方库.rar 这个java版山寨QQ项目实现的功能有: 1.实现的java视频聊天; 2.集成了Mina框架; 3.服务器管理...

    走出山寨-MTK芯片开发指南

    《走出山寨——MTK芯片开发指南》是一本深入解析MTK芯片开发的专业书籍,它针对MTK(MediaTek)芯片的特性和应用提供了详尽的指导。MediaTek是一家知名的半导体公司,其产品广泛应用于移动通信、数字电视、物联网等...

    “路过的”源代码,山寨omegle

    "路过的"是一款模仿Omegle的即时随机聊天应用的源代码。Omegle是一款知名的在线聊天平台,它允许用户与全世界的陌生人进行匿名的一对一聊天,深受互联网用户的喜爱。"路过的"则是在这一理念基础上,针对中文用户市场...

    1037u-tm-i37ce1522v120155山寨一体机主板bios

    标题中的“1037u-tm-i37ce1522v120155山寨一体机主板bios”指的是一个特定型号的一体机主板的BIOS固件,这是一台采用Intel 1037U处理器的山寨版一体机。一体机是将计算机的各个部件集成在一个紧凑的外壳内,包括...

    韩顺平山寨QQ源代码

    【韩顺平山寨QQ源代码】是一份编程学习资源,主要由两部分组成:QQServer(服务器端)和QQClient(客户端)。这份源代码是由韩顺平老师指导编写的,目的是为了帮助学习者理解即时通讯软件(IM)的基本原理与实现方式...

    山寨版QQ 源代码 QQ2010界面

    标题中的“山寨版QQ 源代码 QQ2010界面”指的是一个非官方的、模仿QQ2010版本用户界面的软件项目,它的源代码是使用Java编程语言编写的。这个项目可能是为了教学目的,如描述中提到的“韩顺平JAVA教程视频配套源代码...

    山寨版QQ代码

    【标题】:“山寨版QQ代码”揭示了Java编程在软件开发中的应用 在编程领域,尤其是Java编程中,"山寨版QQ代码"通常指的是开发者为了学习和理解即时通讯软件(如QQ)的工作原理,尝试用Java语言实现的一个简化版本。...

    广东工业大学JAVA第三次作业-山寨记事本(代码+报告)

    【标题】"广东工业大学JAVA第三次作业-山寨记事本(代码+报告)"涉及的知识点主要集中在Java编程语言的应用上,特别是针对简单的桌面应用程序开发。这个作业要求学生模仿常见的记事本程序,实现一个功能类似的基本...

Global site tag (gtag.js) - Google Analytics