java课程设计.docx

上传人:b****7 文档编号:25703217 上传时间:2023-06-11 格式:DOCX 页数:20 大小:229.73KB
下载 相关 举报
java课程设计.docx_第1页
第1页 / 共20页
java课程设计.docx_第2页
第2页 / 共20页
java课程设计.docx_第3页
第3页 / 共20页
java课程设计.docx_第4页
第4页 / 共20页
java课程设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

java课程设计.docx

《java课程设计.docx》由会员分享,可在线阅读,更多相关《java课程设计.docx(20页珍藏版)》请在冰豆网上搜索。

java课程设计.docx

java课程设计

 

软件学院

课程设计报告书

 

课程名称面向对象程序设计

设计题目敏感词汇分析程序

专业班级

学号

姓名

指导教师

 

2012年06月

目录

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包的描述3

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月13日-2012年6月19日)

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类之间的关系

JFrame

ActionListener

Lmy

begin

Ceshi

main

begin

Lmy

Zhujiemian

close

begin

actionPerformed

actionPerformed

图1.类之间的关系

4.3详细设计

4.3.1类图

Lmy

begin

JButtonjbutton,jbutton1,jbutton2

JPaneljp1,jp2

JTextAreajta

JTextAreajta

JTextFieldjtf

Containercontent

Stringbuffer

JButtonjbutton01,jbutton02

JPaneljp01,jp02

JLabeljl01

Containercontent01

publicbegin

publicvoidclose

classZhujiemian

publicLmy

publicvoidclose

classCeshi

publicstaticvoidmain

图2.Lmy类图图3.begin类图

4.3.2页面设计

开始界面设计代码:

content01=getContentPane();

jp01=newJPanel();

jp02=newJPanel();

jbutton01=newJButton("开始敏感词测试");//敏感词测试按钮

jbutton02=newJButton("退出敏感词测试");//程序退出按钮

jl01=newJLabel("欢迎您使用敏感词测试程序");//欢迎语

jp01.setLayout(newBorderLayout());

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(newZhujiemian());

jbutton02.addActionListener(newZhujiemian());

setTitle("敏感词测试程序");//程序标题

setSize(600,400);

setVisible(true);

setLocation(300,300);

setDefaultCloseOperation(EXIT_ON_CLOSE);

结果如图:

图4.敏感词测试程序界面

测试界面代码:

content=getContentPane();

jp1=newJPanel();

jp2=newJPanel();

jbutton=newJButton("选择待测文件");//选择文件按钮

jbutton1=newJButton("开始检索");//检索按钮

jbutton2=newJButton("返回");//返回按钮

jta=newJTextArea(15,30);

jta.setLineWrap(true);

jl=newJLabel("文件路径名称:

");//显示文件路径

jtf=newJTextField(20);

jp1.setLayout(newBorderLayout());

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(newCeshi());

jbutton1.addActionListener(newCeshi());

jbutton2.addActionListener(newCeshi());

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程序代码

importjava.awt.BorderLayout;//布置容器的边框布局,北、南、东、西、中;NORTH、SOUTH、EAST、WEST、CENTER。

importjava.awt.Container;

importjava.awt.event.ActionEvent;//此事件指示用户想要某个事件发生。

importjava.awt.event.ActionListener;

importjava.io.BufferedReader;//从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

importjava.io.File;

importjava.io.FileNotFoundException;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;//当发生某种I/O异常时,抛出此异常。

此类是失败或中断的I/O操作生成的异常的通用类。

importjavax.swing.JButton;//"push"按钮的实现。

importjavax.swing.JFileChooser;//JFileChooser为用户选择文件提供了一种简单的机制

importjavax.swing.JFrame;//java.awt.Frame的扩展版本,该版本添加了对JFC/Swing组件架构的支持。

importjavax.swing.JLabel;//用于短文本字符串或图像或二者的显示区。

importjavax.swing.JOptionPane;//JOptionPane有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。

importjavax.swing.JPanel;//JPanel是一般轻量级容器。

importjavax.swing.JTextArea;//JTextArea是一个显示纯文本的多行区域。

importjavax.swing.JTextField;//JTextField是一个轻量级组件,它允许编辑单行文本。

publicclassLmyextendsJFrame//敏感词测试模块

{

JButtonjbutton,jbutton1,jbutton2;

JPaneljp1,jp2;

JTextAreajta;

JLabeljl;

JTextFieldjtf;

Containercontent;

Stringbuffer="";

publicLmy()

{

content=getContentPane();

jp1=newJPanel();

jp2=newJPanel();

jbutton=newJButton("选择待测文件");//选择文件按钮

jbutton1=newJButton("开始检索");//检索按钮

jbutton2=newJButton("返回");//返回按钮

jta=newJTextArea(15,30);

jta.setLineWrap(true);

jl=newJLabel("文件路径名称:

");//显示文件路径

jtf=newJTextField(20);

jp1.setLayout(newBorderLayout());

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(newCeshi());

jbutton1.addActionListener(newCeshi());

jbutton2.addActionListener(newCeshi());

setTitle("测试界面");

setSize(650,400);

setVisible(true);

setLocation(300,250);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

publicvoidclose()

{

this.dispose();

}

classCeshiimplementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==jbutton)

{

JFileChooserchooser=newJFileChooser();

intreturnVal=chooser.showOpenDialog(Lmy.this);

if(returnVal==JFileChooser.APPROVE_OPTION)

{

Stringstr=chooser.getSelectedFile().getPath();

jtf.setText(str);

try

{

BufferedReadersb=newBufferedReader(newFileReader(newFile(str)));

Strings=sb.readLine();

while(s!

=null)

{

buffer+=s+"\n";

s=sb.readLine();

}

jta.setText(buffer);

sb.close();

}

catch(Exceptionee)

{

jta.setText(ee.toString());

}

}

}

elseif(e.getSource()==jbutton1)

{

try

{

String[]sentive=newString[10];

BufferedReadersb=newBufferedReader(newFileReader(newFile("sentive.txt")));

Strings="";

intkey=0;

inti=0;

while((s=sb.readLine())!

=null)

{

sentive[i]=s;

i++;

}

for(intj=0;j

{

intflag=0;

for(intk=0;k

{

if(buffer.charAt(k)==sentive[j].charAt(key))

{

key++;

if(key==sentive[j].length())

{

flag++;

key=0;

}

}

else

{

key=0;

}

}

sentive[j]+="有"+flag+"个;";

}

JFramef=newJFrame("统计结果为");

f.setSize(600,100);

JLabell=newJLabel();

Stringstr=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(Exceptione1)

{

e1.printStackTrace();

}

}

elseif(e.getSource()==jbutton2)

{

close();

newbegin();

}

}

}

publicstaticvoidmain(Stringagrs[])

{

newbegin();

}

}

classbeginextendsJFrame

{

JButtonjbutton01,jbutton02;

JPaneljp01,jp02;

JLabeljl01;

Containercontent01;

publicbegin()

{

content01=getContentPane();

jp01=newJPanel();

jp02=newJPanel();

jbutton01=newJButton("开始敏感词测试");//敏感词测试按钮

jbutton02=newJButton("退出敏感词测试");//程序退出按钮

jl01=newJLabel("欢迎您使用敏感词测试程序");//欢迎语

jp01.setLayout(newBorderLayout());

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(newZhujiemian());

jbutton02.addActionListener(newZhujiemian());

setTitle("敏感词测试程序");//程序标题

setSize(600,400);

setVisible(true);

setLocation(300,300);

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

publicvoidclose()

{

this.dispose();

}

classZhujiemianimplementsActionListener

{

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==jbutton01)

{

close();

newLmy();

}

elseif(e.getSource()==jbutton02)

{

System.exit(0);

}

}

}

}

5总结与展望

经过一周的课程设计,我学到了很多东西:

①巩固和加深了对JAVA的理解,提高综合运用本课程所学知识的能力。

②培养了我选用参考书,查阅手册及文献资料的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

③过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。

④够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。

⑤通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。

课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。

参考文献

[1]刘万军Java程序设计实践教程[M].清华大学出版社.2010

出勤

情况

缺勤次数:

课程

设计

评估

设计成绩

教师签字

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1