为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

敏感词汇

2012-07-01 19页 doc 418KB 179阅读

用户头像

is_892850

暂无简介

举报
敏感词汇 软 件 学 院 课程设计报告书 课程名称 面向对象程序设计 设计题目 敏感词汇分析程序 专业班级 软件工程10-01 学 号 1020010109 姓 名 李名扬 指导教师 刘腊梅 2012年06月 目录 ...
敏感词汇
软 件 学 院 课程设计报告书 课程名称 面向对象程序设计 设计题目 敏感词汇分析程序 专业班级 软件工程10-01 学 号 1020010109 姓 名 李名扬 指导教师 刘腊梅 2012年06月 目录 3 1 设计时间 3 2 设计目的 3 3 设计任务 3 4 设计内容 3 4.1需求分析 3 4.1.1问题描述 3 4.1.2基本要求 3 4.2总体设计 3 4.2.1包的描述 4.2.2类的描述 4 4.2.3类之间的关系 4 4.3详细设计 4 4.3.1类图 4 4.3.2页面设计 5 4.4测试分析 8 4.5程序代码 10 5 与展望 17 参考文献 18 1 设计时间 18周(2012年6月11日-2012年6月15日) 2 设计目的 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3设计任务 敏感词汇分析程序。要求如下: (1)使用图形用户界面实现。 (2)任意选择一个文本文件,分析该文件,如果存在敏感词汇,报告每个词出现的次数。 (3)敏感词汇保存在sentive.txt文件中,每个词占一行,至少设置10个敏感词汇。 (4)系统使用的GUI组件不得少于5种,越全面越好,但要合适(和谐界面)。 4 设计内容 4.1需求分析 4.1.1问题描述 敏感词汇分析程序。任意选择一个文本文件,分析该文件,如果存在敏感词汇,报告每个词出现的次数。 4.1.2基本要求 (1)使用图形用户界面实现。 (2)任意选择一个文本文件,分析该文件,如果存在敏感词汇,报告每个词出现的次数。 (3)敏感词汇保存在sentive.txt文件中,每个词占一行,至少设置10个敏感词汇。 (4)系统使用的GUI组件不得少于5种,越全面越好,但要合适(和谐界面)。 4.2总体设计 4.2.1 包的描述 Java.awt 包含用于创建用户界面和绘制图形图像的所有类。 Java.io 通过数据流、序列化和文件系统提供系统输入和输出。 Javax.swing 用于JAVA应用程序用户界面的开发工具包。 4.2.2 类的描述 Begin类,开始程序后"敏感词测试程序"图形用户界面实现代码。 Zhujiemian类,对主界面两个按钮的监听。 Lmy类,"测试界面"图形用户界面的实现代码。 Ceshi类,对敏感词比对实现的核心代码,对"测试界面"三个按钮的监听。 4.2.3 类之间的关系 图1.类之间的关系 4.3详细设计 4.3.1类图 Lmy begin JButton jbutton, jbutton1, jbutton2 JPanel jp1, jp2 JTextArea jta JTextArea jta JTextField jtf Container content String buffer JButton jbutton01,jbutton02 JPanel jp01, jp02 JLabel jl01 Container content01 public begin public void close class Zhujiemian public Lmy public void close class Ceshi public static void main 图2.Lmy类图 图3.begin类图 4.3.2页面设计 开始界面设计代码: content01 = getContentPane(); jp01 = new JPanel(); jp02 = new JPanel(); jbutton01 = new JButton("开始敏感词测试");//敏感词测试按钮 jbutton02 = new JButton("退出敏感词测试");//程序退出按钮 jl01 = new JLabel("欢迎您使用敏感词测试程序");//欢迎语 jp01.setLayout(new BorderLayout()); jp01.setLayout(null); jl01.setBounds(220, 150, 200, 30); jp01.add(jl01); jp02.add(jbutton01); jp02.add(jbutton02); content01.add(jp01, BorderLayout.CENTER); content01.add(jp02, BorderLayout.SOUTH); jbutton01.addActionListener(new Zhujiemian()); jbutton02.addActionListener(new Zhujiemian()); setTitle("敏感词测试程序");//程序标题 setSize(600, 400); setVisible(true); setLocation(300,300); setDefaultCloseOperation(EXIT_ON_CLOSE); 结果如图: 图4.敏感词测试程序界面 测试界面代码: content = getContentPane(); jp1 = new JPanel(); jp2 = new JPanel(); jbutton = new JButton("选择待测文件");//选择文件按钮 jbutton1 = new JButton("开始检索");//检索按钮 jbutton2 = new JButton("返回");//返回按钮 jta = new JTextArea(15, 30); jta.setLineWrap(true); jl = new JLabel("文件路径名称:");//显示文件路径 jtf = new JTextField(20); jp1.setLayout(new BorderLayout()); jp1.add(jta); jp2.add(jl); jp2.add(jtf); jp2.add(jbutton); jp2.add(jbutton1); jp2.add(jbutton2); content.add(jp1,BorderLayout.CENTER); content.add(jp2,BorderLayout.SOUTH); jbutton.addActionListener(new Ceshi()); jbutton1.addActionListener(new Ceshi()); jbutton2.addActionListener(new Ceshi()); setTitle("测试界面"); setSize(650,400); setVisible(true); setLocation(300,250); setDefaultCloseOperation(EXIT_ON_CLOSE); 结果如图: 图5.测试界面 4.4测试与分析 图6.启动程序 图7.敏感词测试界面 图8.选择目标文件界面 图9.点击“选择待测文件”后的选择文件界面 图10.选择“target.txt”文件 图11.在检索之前,可以显示待测文件内的内容 图10.测试结果界面 4.5 程序代码 import java.awt.BorderLayout;//布置容器的边框布局,北、南、东、西、中;NORTH、SOUTH、EAST、WEST、CENTER。 import java.awt.Container; import java.awt.event.ActionEvent;//此事件指示用户想要某个事件发生。 import java.awt.event.ActionListener; import java.io.BufferedReader;//从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;//当发生某种 I/O 异常时,抛出此异常。此类是失败或中断的 I/O 操作生成的异常的通用类。 import javax.swing.JButton;//"push" 按钮的实现。 import javax.swing.JFileChooser;//JFileChooser 为用户选择文件提供了一种简单的机制 import javax.swing.JFrame;//java.awt.Frame 的扩展版本,该版本添加了对 JFC/Swing 组件架构的支持。 import javax.swing.JLabel;//用于短文本字符串或图像或二者的显示区。 import javax.swing.JOptionPane;//JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。 import javax.swing.JPanel;//JPanel 是一般轻量级容器。 import javax.swing.JTextArea;//JTextArea 是一个显示纯文本的多行区域。 import javax.swing.JTextField;//JTextField 是一个轻量级组件,它允许编辑单行文本。 public class Lmy extends JFrame//敏感词测试模块 { JButton jbutton, jbutton1, jbutton2; JPanel jp1, jp2; JTextArea jta; JLabel jl; JTextField jtf; Container content; String buffer = ""; public Lmy() { content = getContentPane(); jp1 = new JPanel(); jp2 = new JPanel(); jbutton = new JButton("选择待测文件");//选择文件按钮 jbutton1 = new JButton("开始检索");//检索按钮 jbutton2 = new JButton("返回");//返回按钮 jta = new JTextArea(15, 30); jta.setLineWrap(true); jl = new JLabel("文件路径名称:");//显示文件路径 jtf = new JTextField(20); jp1.setLayout(new BorderLayout()); jp1.add(jta); jp2.add(jl); jp2.add(jtf); jp2.add(jbutton); jp2.add(jbutton1); jp2.add(jbutton2); content.add(jp1,BorderLayout.CENTER); content.add(jp2,BorderLayout.SOUTH); jbutton.addActionListener(new Ceshi()); jbutton1.addActionListener(new Ceshi()); jbutton2.addActionListener(new Ceshi()); setTitle("测试界面"); setSize(650,400); setVisible(true); setLocation(300,250); setDefaultCloseOperation(EXIT_ON_CLOSE); } public void close() { this.dispose(); } class Ceshi implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource() == jbutton) { JFileChooser chooser = new JFileChooser(); int returnVal = chooser.showOpenDialog(Lmy.this); if (returnVal == JFileChooser.APPROVE_OPTION) { String str = chooser.getSelectedFile().getPath(); jtf.setText(str); try { BufferedReader sb = new BufferedReader(new FileReader(new File(str))); String s = sb.readLine(); while (s != null) { buffer += s + "\n"; s = sb.readLine(); } jta.setText(buffer); sb.close(); } catch (Exception ee) { jta.setText(ee.toString()); } } } else if (e.getSource() == jbutton1) { try { String[] sentive = new String[10]; BufferedReader sb = new BufferedReader(new FileReader(new File("sentive.txt"))); String s = ""; int key = 0; int i = 0; while ((s = sb.readLine()) != null) { sentive[i] = s; i++; } for (int j = 0; j < i; j++) { int flag = 0; for (int k = 0; k < buffer.length(); k++) { if (buffer.charAt(k) == sentive[j].charAt(key)) { key++; if (key == sentive[j].length()) { flag++; key = 0; } } else { key = 0; } } sentive[j] += "有" + flag + "个;"; } JFrame f = new JFrame("统计结果为"); f.setSize(600, 100); JLabel l = new JLabel(); String str = sentive[0] + sentive[1] + sentive[2] + sentive[3] + sentive[4] + sentive[5] + sentive[6] + sentive[7] + sentive[8] + sentive[9]; l.setText(str); f.add(l); f.setLocation(300,450); //f.setDefaultCloseOperation(EXIT_ON_CLOSE); f.setVisible(true); } catch (Exception e1) { e1.printStackTrace(); } } else if (e.getSource() == jbutton2) { close(); new begin(); } } } public static void main(String agrs[]) { new begin(); } } class begin extends JFrame { JButton jbutton01,jbutton02; JPanel jp01, jp02; JLabel jl01; Container content01; public begin() { content01 = getContentPane(); jp01 = new JPanel(); jp02 = new JPanel(); jbutton01 = new JButton("开始敏感词测试");//敏感词测试按钮 jbutton02 = new JButton("退出敏感词测试");//程序退出按钮 jl01 = new JLabel("欢迎您使用敏感词测试程序");//欢迎语 jp01.setLayout(new BorderLayout()); jp01.setLayout(null); jl01.setBounds(220, 150, 200, 30); jp01.add(jl01); jp02.add(jbutton01); jp02.add(jbutton02); content01.add(jp01, BorderLayout.CENTER); content01.add(jp02, BorderLayout.SOUTH); jbutton01.addActionListener(new Zhujiemian()); jbutton02.addActionListener(new Zhujiemian()); setTitle("敏感词测试程序");//程序标题 setSize(600, 400); setVisible(true); setLocation(300,300); setDefaultCloseOperation(EXIT_ON_CLOSE); } public void close() { this.dispose(); } class Zhujiemian implements ActionListener { public void actionPerformed(ActionEvent e) { if (e.getSource() == jbutton01) { close(); new Lmy(); } else if (e.getSource() == jbutton02) { System.exit(0); } } } } 5总结与展望 经过一周的课程设计,我学到了很多东西: ①巩固和加深了对JAVA的理解,提高综合运用本课程所学知识的能力。 ②培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。 ③过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。 ④够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。 ⑤通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。 课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。 参考文献 [1] 刘万军 Java程序设计实践教程[M].清华大学出版社.2010 出勤 情况 缺勤次数: 课程 设计 评估 设计成绩 教师签字 JFrame ActionListener Lmy begin Ceshi main begin Lmy Zhujiemian close begin actionPerformed actionPerformed 4
/
本文档为【敏感词汇】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索