敏感词汇分析JAVA课程设计报告书_第1页
敏感词汇分析JAVA课程设计报告书_第2页
敏感词汇分析JAVA课程设计报告书_第3页
敏感词汇分析JAVA课程设计报告书_第4页
敏感词汇分析JAVA课程设计报告书_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.../软件学院课程设计报告书课程名称面向对象课程设计设计题目敏感词汇分析专业班级学号姓名指导教师2013年6月目录TOC\o"1-3"\h\u304111设计时间 1236382设计目的 1268283设计任务 1129523.1名词解释 1216014.1概要设计 2193084.1.1程序模块 38404.2自定义类说明 3118244.3程序模块代码 4311524.3.1Menu界面程序模块 5101044.3.2敏感词分析程序模块 6200914.4程序运行环境 7258044.5程序运行与调试 7272575总结与展望 1032645参考文献 113675成绩评定 111设计时间2013-6-10至2013-6-122设计目的本次课程设计的设计目的是使同学们掌握面向对象程序的设计思想和Java编程的技巧;具备根据要求对程序进行分析、设计、实现与调试,加强知识实践意识、提高动手能力和创新能力。3设计任务敏感词汇分析程序要求如下:〔1使用图形用户界面实现。〔2任意选择一个文本文件,分析该文件,如果存在敏感词汇,报告每个词出现的次数。〔3敏感词汇保存在sentive.txt文件中,每个词占一行,至少设置10个敏感词汇。〔4系统使用的GUI组件不得少于5种,越全面越好,但要合适〔和谐界面。3.1名词解释敏感词汇:敏感词汇就是一些国外反动分子常用的词组、国家限制使用的名词、特定词汇。总结发现有以下几个方面:敏感词范围:敏感词包括政治敏感词,机密信息敏感词,骂人的原话、土话敏感词,匪话、黑话敏感词等等。各个论坛或者各种游戏不同,敏感词也不同,比如在这个论坛里的某个词某句话是敏感词,在别的地方不是,比如在游戏里外挂、中奖、管理员、信息等等都是敏感词,打出来的全部显示***,但是这些在普通QQ聊天或者邮件里都是正常词汇。常见的敏感词汇:·违反国家现行法律法规。·破坏社会公共安全。·鼓动民族仇恨、民族歧视,破坏民族团结。·宣扬邪教和封建迷信。·宣扬色情、淫秽、暴力、教唆犯罪。·攻击政府、政府官员。·含有种族、肤色、性别、性取向、宗教、民族、地域、残疾、社会经济状况等歧视内容的问题和回复。·含有侮辱或诽谤他人,对他人构成伤害或侵害他人合法权益的内容。·含有法律、行政法规禁止的其他内容。·含有破坏社区公共秩序的内容。·灌水或张贴垃圾信息。·宣传无关内容,发表含有广告性质的问题。·含有影响网友正常浏览的内容或格式。·与栏目主题无关的内容。·违反网站的其它具体规定的情况。·破坏社会公共安全。·鼓动民族仇恨、民族歧视,破坏民族团结。用户界面:指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。电子计算机系统中实现用户与计算机信息交换的软件、硬件部分。软件部分包括用户与计算机信息交换的约定、操作命令等处理软件,硬件部分包括输入装置和输出装置。目前常用的是图形用户界面,它采用多窗口系统,显示直接形象,操作简便。也叫人机界面。简称界面。4设计内容4.1概要设计敏感词汇程序是:图形界面、查询和计数等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,大部分选择了swing来完成实现,文本编辑区就选用了TaxtArea作为主要的部件。文件操作的实现:利用了字符文件流FileReader和FileWriter类来实现。由于Java的特性,可能用任何一个编辑器来编辑,在设计类的时候,考虑到简单明了,就用了三个类,一个主类、一个类设计构造函数实现监听接口作为程序的整体框架,一个类设计构造函数实现查找替换功能。所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。4.1.1程序模块该程序分为3个功能模块:〔1Frame界面程序模块〔2Menu界面程序模块〔3敏感词分析程序模块图4-1三个功能模块流程图4.2自定义类说明〔1Mingan1类:针对Frame程序界面设计,类内包含多种GUI组件的创建和应用。该类用来调用敏感词分析的Menu界面。表4-1Mingan1类基本说明Frame创建Frame窗口,并进行基本设置GridLayout设置为Gridlayout〔的布局管理器Panel按照布局管理器创建3个Panel,并进行添加和设置Button创建Button,并设置事件监听与TestJMenu类相连Label在类中用来添加相关的文字说明TestJMenu类:针对Menu程序界面设计,类内包含多种GUI组件的创建和应用。通过对文本域和菜单栏的设计,实现原文本文件的调用和显示,分析敏感词程序的调用,以及敏感词出现次数的显示等功能。表4-2TestJMenu类基本说明JTextArea创建文本域TestJMenu创建菜单,并进行基本设置,进行JmenuBar菜单栏的实现JMenu创建3个基本功能菜单,分别为:jmFile、jmFenxi和jmHelpJMenuItem分别设置各菜单的弹出项。jmFile中设置jmiNew、jmiOpen,jmFenxi中设置jmiQue、jmiQuaddActionListener<>分别为jmiOpen和jmiQue弹出项设置事件监听,实现调用功能。jmiOpen实现文件的导入,jmiQue实现与Fenx类的连接〔3Fenx类:针对敏感词分析模块设计,包含Matcher、Pattern、StringBuffer、find<>、tirm<>等关键字和方法的创建和使用。主要实现了:对敏感词的匹配分析、敏感词自动修改及敏感词出现次数分析等功能。表4-3Fenx类基本说明FileReader读入敏感词sentive.txt文件BufferedReader将敏感词读入缓冲区readLine<>从缓冲区读取一行数据trim<>去掉空格Pattern将给定的正则表达式编译到具有给定标志的模式中find<>尝试查找与该模式匹配的输入序列的下一个子序列appendReplacement<>替换appendTail<>实现终端追加和替换步骤4.3程序模块代码图4-2功能模块说明图4.3.1Menu界面程序模块程序代码:JTextAreajta=newJTextArea<>; ZMenu<> {super<"敏感词汇分析">; setVisible<true>;//窗口的设置 setBounds<50,50,500,500>; setBackground<Color.pink>; Winfw=newWin<>;//关闭窗口监听 addWindowListener<fw>; JMenuBarmb=newJMenuBar<>; setJMenuBar<mb>; JMenum1=newJMenu<"文件">; JMenuItemm11=newJMenuItem<"新建">; JMenuItemm12=newJMenuItem<"打开">; JMenuItemm13=newJMenuItem<"退出">; m12.addActionListener<this>;//打开监听 m13.addActionListener<newMonitor<>>;//退出监听 mb.add<m1>; m1.add<m11>; m1.add<m12>; m1.add<m13>; JMenum2=newJMenu<"编辑">; JMenuItemm22=newJMenuItem<"查询敏感词">; //m22.addActionListener<this>;//打开敏感词文档 JMenuItemm21=newJMenuItem<"修改敏感词">; //m21.addActionListener<newmodify<>>;//修改监听 m2.add<m22>; m2.add<m21>; mb.add<m2>; JMenum3=newJMenu<"分析">; JMenuItemm31=newJMenuItem<"分析敏感词">; m3.add<m31>; m31.addActionListener<newfenxi<>>; mb.add<m3>; JMenum4=newJMenu<"帮助">; mb.add<m4>;this.getContentPane<>.add<jta>;this.setVisible<true>; }publicvoidactionPerformed<ActionEvente>//打开 { JFileChooserjc=newJFileChooser<>; jc.showOpenDialog<this>; //jta.append<null>; Stringa="添加所要分析的文本";try { Filefile=jc.getSelectedFile<>; FileInputStreamfis=newFileInputStream<file>;byte[]buf=newbyte[10*1024];intlen=fis.read<buf>; //jta.replaceRange<a,buf,len>; jta.append<newString<buf,0,len>>; }catch<Exceptionex> { ex.printStackTrace<>; } }}4.3.2敏感词分析程序模块程序代码:classfenxiimplementsActionListener//分析{intindexstring<Strings1,Strings2> {intnum=0;intj=0;//intz=0;//出现位置while<j<s2.length<>> {z=s2.indexOf<s1,j>;if<z==-1>break;if<z<s2.length<>> { num++; j=z+1; } }returnnum; }4.4程序运行环境1.操作系统:Windows72.开发语言:JAVA3.开发工具:MyEclipse4.5程序运行与调试〔1将敏感词汇保存到sensive.txt中〔2选择含有敏感词的文本文件〔3分析该文件并显示结果5总结与展望通过这次的课程设计,收获真的很大。首先,通过本次课程设计对书本上的面向对象分析与设计的知识由理论的死记硬背渐渐地应用于实际。使得理论与实际相结合,不仅加深了对书本上知识的理解更加深了对Java编程的动手与操作的兴趣,为以后的学习和工作打下了坚实的基础。通过查询资料、询问老师和与同学讨论与合作,初步的认识了Java开发的流程。对于我们工科的学生特别是学习计算机的学生来讲动手能力、技术和经验是今后走向社会的必备要素。而在这次的课程设计当中,锻炼了动手能力,熟练了Java编程的技术,积累了开发程序的经验。在以后的学习中要再接再厉。在课程设计的过程当中,多次出现了程序运行不了有错误的情况,这些问题主要包括字母大小写问题,括号不对应,语法错误等,通过查询书籍和询问老师最终克服了这方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论