1、超市收银程序 JAVA课程设计软 件 学 院课程设计报告书课程名称 面向对象课程设计 设计题目 敏感词汇分析 专业班级 学 号 姓 名 指导教师 2011 年 6月1 设计时间2011-6-10至2011-6-122 设计目的本次课程设计的设计目的是使同学们掌握面向对象程序的设计思想和Java编程的技巧;具备根据要求对程序进行分析、设计、实现与调试,加强知识实践意识、提高动手能力和创新能力。3 设计任务敏感词汇分析程序要求如下:(1)使用图形用户界面实现。(2)任意选择一个文本文件,分析该文件,如果存在敏感词汇,报告每个词出现的次数。(3)敏感词汇保存在sentive.txt文件中,每个词占一
2、行,至少设置10个敏感词汇。(4)系统使用的GUI组件不得少于5种,越全面越好,但要合适(和谐界面)。3.1名词解释敏感词汇:敏感词汇就是一些国外反动分子常用的词组、国家限制使用的名词、特定词汇。总结发现有以下几个方面:1、敏感词范围:敏感词包括政治敏感词,机密信息敏感词,骂人的原话、土话敏感词,匪话、黑话敏感词等等。2、各个论坛或者各种游戏不同,敏感词也不同,比如在这个论坛里的某个词某句话是敏感词,在别的地方不是,比如在游戏里外挂、中奖、管理员、信息等等都是敏感词,打出来的全部显示*,但是这些在普通QQ聊天或者邮件里都是正常词汇。常见的敏感词汇: 违反国家现行法律法规。 破坏社会公共安全。
3、鼓动民族仇恨、民族歧视,破坏民族团结。 宣扬邪教和封建迷信。 宣扬色情、淫秽、暴力、教唆犯罪。 攻击政府、政府官员。 含有种族、肤色、性别、性取向、宗教、民族、地域、残疾、社会经济状况等歧视内容的问题和回复。 含有侮辱或诽谤他人,对他人构成伤害或侵害他人合法权益的内容。 含有法律、行政法规禁止的其他内容。 含有破坏社区公共秩序的内容。 灌水或张贴垃圾信息。 宣传无关内容,发表含有广告性质的问题。 含有影响网友正常浏览的内容或格式。 与栏目主题无关的内容。 违反网站的其它具体规定的情况。 破坏社会公共安全。 鼓动民族仇恨、民族歧视,破坏民族团结。 用户界面:指对软件的人机交互、操作逻辑、界面美观
4、的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。电子计算机系统中实现用户与计算机信息交换的软件、硬件部分。软件部分包括用户与计算机信息交换的约定、操作命令等处理软件,硬件部分包括输入装置和输出装置。目前常用的是图形用户界面,它采用多窗口系统,显示直接形象,操作简便。也叫人机界面。简称界面。4 设计内容 4.1概要设计敏感词汇程序是:图形界面、查询和计数等技术的综合应用。图形界面的实现:考虑到简单、实用、高效等特点,大部分选择了swing来完成实现,文本编辑区就选用了TaxtArea作为主要的部件。文件操作的实现:利用了字符文
5、件流FileReader和FileWriter类来实现。由于Java的特性,可能用任何一个编辑器来编辑,在设计类的时候,考虑到简单明了,就用了三个类,一个主类、一个类设计构造函数实现监听接口作为程序的整体框架,一个类设计构造函数实现查找替换功能。所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。主类完成对象的实例化及显示。这们设计的优点是:条理清晰,容易理解,容易修改。这样设计的缺点是:不利于共享类中的方法。4.1.1程序模块该程序分为3个功能模块:(1)Frame界面程序模块(2)Menu界面程序模块(3)敏感词分析程序模块图4-1 三个功
6、能模块流程图4.2自定义类说明(1)Mingan1类:针对Frame程序界面设计,类内包含多种GUI组件的创建和应用。该类用来调用敏感词分析的Menu界面。表4-1 Mingan1类基本说明Frame创建Frame窗口,并进行基本设置GridLayout设置为Gridlayout()的布局管理器Panel按照布局管理器创建3个Panel,并进行添加和设置Button创建Button,并设置事件监听与TestJMenu类相连Label在类中用来添加相关的文字说明(2)TestJMenu类:针对Menu程序界面设计,类内包含多种GUI组件的创建和应用。通过对文本域和菜单栏的设计,实现原文本文件的调
7、用和显示,分析敏感词程序的调用,以及敏感词出现次数的显示等功能。表4-2 TestJMenu类基本说明JTextArea创建文本域TestJMenu创建菜单,并进行基本设置,进行JmenuBar菜单栏的实现JMenu创建3个基本功能菜单,分别为:jmFile、jmFenxi和jmHelpJMenuItem分别设置各菜单的弹出项。jmFile中设置jmiNew、jmiOpen,jmFenxi中设置jmiQue、jmiQuaddActionListener()分别为jmiOpen和jmiQue弹出项设置事件监听,实现调用功能。jmiOpen实现文件的导入,jmiQue实现与Fenx类的连接(3)F
8、enx类:针对敏感词分析模块设计,包含Matcher、Pattern、StringBuffer、find()、tirm()等关键字和方法的创建和使用。主要实现了:对敏感词的匹配分析、敏感词自动修改及敏感词出现次数分析等功能。表4-3 Fenx类基本说明FileReader读入敏感词sentive.txt文件BufferedReader将敏感词读入缓冲区readLine()从缓冲区读取一行数据trim()去掉空格Pattern将给定的正则表达式编译到具有给定标志的模式中find()尝试查找与该模式匹配的输入序列的下一个子序列appendReplacement()替换appendTail()实现终
9、端追加和替换步骤4.3程序模块代码图4-2 功能模块说明图4.3.1 Menu界面程序模块 程序代码: JTextArea jta=new JTextArea(); ZMenu() super(敏感词汇分析); setVisible(true);/窗口的设置 setBounds(50,50,500,500); setBackground(Color.pink); Win fw=new Win();/关闭窗口监听 addWindowListener(fw); JMenuBar mb=new JMenuBar(); setJMenuBar(mb); JMenu m1=new JMenu(文件);
10、JMenuItem m11=new JMenuItem(新建); JMenuItem m12=new JMenuItem(打开); JMenuItem m13=new JMenuItem(退出); m12.addActionListener(this);/打开监听 m13.addActionListener(new Monitor();/退出监听 mb.add(m1); m1.add(m11); m1.add(m12); m1.add(m13); JMenu m2=new JMenu(编辑); JMenuItem m22=new JMenuItem(查询敏感词); /m22.addAction
11、Listener(this);/打开敏感词文档 JMenuItem m21=new JMenuItem(修改敏感词); / m21.addActionListener(new modify();/修改监听 m2.add(m22); m2.add(m21); mb.add(m2); JMenu m3=new JMenu(分析); JMenuItem m31=new JMenuItem(分析敏感词); m3.add(m31); m31.addActionListener(new fenxi(); mb.add(m3); JMenu m4=new JMenu(帮助); mb.add(m4); thi
12、s.getContentPane().add(jta); this.setVisible(true); public void actionPerformed(ActionEvent e)/打开 JFileChooser jc=new JFileChooser(); jc.showOpenDialog(this); /jta.append(null); String a=添加所要分析的文本; try File file=jc.getSelectedFile(); FileInputStream fis=new FileInputStream(file); byte buf=new byte10
13、*1024; int len=fis.read(buf); /jta.replaceRange(a,buf,len); jta.append(new String(buf,0,len); catch(Exception ex) ex.printStackTrace(); 4.3.2 敏感词分析程序模块程序代码:class fenxi implements ActionListener /分析 int indexstring(String s1,String s2) int num=0; int j=0;/ int z=0;/出现位置 while(js2.length() z=s2.indexO
14、f(s1,j); if(z=-1) break; if(zs2.length() num+; j=z+1; return num; 4.4程序运行环境1.操作系统:Windows 72.开发语言: JAVA3.开发工具: MyEclipse4.5程序运行与调试(1)将敏感词汇保存到sensive.txt中(2)选择含有敏感词的文本文件 (3)分析该文件并显示结果5 总结与展望通过这次的课程设计,收获真的很大。首先,通过本次课程设计对书本上的面向对象分析与设计的知识由理论的死记硬背渐渐地应用于实际。使得理论与实际相结合,不仅加深了对书本上知识的理解更加深了对Java编程的动手与操作的兴趣,为以后
15、的学习和工作打下了坚实的基础。通过查询资料、询问老师和与同学讨论与合作,初步的认识了Java开发的流程。对于我们工科的学生特别是学习计算机的学生来讲动手能力、技术和经验是今后走向社会的必备要素。而在这次的课程设计当中,锻炼了动手能力,熟练了Java编程的技术,积累了开发程序的经验。在以后的学习中要再接再厉。在课程设计的过程当中,多次出现了程序运行不了有错误的情况,这些问题主要包括字母大小写问题,括号不对应,语法错误等,通过查询书籍和询问老师最终克服了这方面的问题,顺利完成了本次课程设计。在课程设计当中,最要感谢每一位曾经给予过我们帮助的老师,是你们那谆谆的教导,使我们少走了很多弯路,顺利的完成了本次课程设计,在这里我们要深深的向您说一声:“老师,您辛苦了!”参考文献1.孙全党 王吴迪 赵枫朝,Java程序设计应用教程,电子工业出版社,2006.22.雷之宇,Java项目开发实践网络篇,中国铁道出版社,2005.53.赵玉阳,Java从入门到精通,清华大学出版社,2006.84.李茏怡,Java编程实例讲解,高等教育出版社,2005.11 成绩评定成绩 教师签字
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1