欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    Java课程设计报告模板.doc

    • 资源ID:2387086       资源大小:504.50KB        全文页数:20页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java课程设计报告模板.doc

    java程序设计课程设计报告电子词典程序设计姓 名: 班 级: 学 号: 指导教师: 成 绩: 完成时间: 目录一、设计目的3二、功能介绍32.1 菜单栏功能32.2 功能要求3三、概要设计43.1 需求分析43.2 自定义类说明43.3 界面设计思想43.4 方法定义说明53.5 数据库说明5四、详细设计84.1 程序流程图84.2 登陆界面设计81、具体实现过程82、关键代码设计93、运行结果截图17五、 设计心得与体会20一、 设计目的随着安卓智能手机的普及,Java语言也越来越被人所熟知。现如今,Java不仅仅是一种流行的网络编程语言,更是一种应用程序开发语言。它具有面向对象、跨平台、分布应用等特点,而且有利于软件的维护和继承。由于Java具有跨平台性,所以它应用领域特别广,不仅在手机、家电、汽车等行业用到Java,就连在航空航天领域也用到它,这些都足以说明我们学习Java的必要性。 纸上得来终觉浅,绝知此事要躬行。此次课程设计的目的主要在于巩固所学习的Java语言基础知识,增进JAVA语言编辑的基本功,熟练掌握JDK、Eclipse等开发工具的应用,以及JAVA语言与SQL server 2005和access数据库的连接。最终使我们通过该教学环节,把该课程及相关知识融会贯通,更加全面地掌握JAVA语言的编程思想以及面向对象程序设计的方法,为今后走上工作岗位打下坚实的基础。二、 功能介绍2.1 菜单栏功能a) “文件”菜单:英汉词典、备份词库、退出b) “编辑”菜单:添加词库、修改词库、删除词库c) “帮助”菜单:显示关于程序的信息2.2 功能要求a) “英译汉”功能要求:用户文本框中输入要查询的单词。若该单词存在于词库中,则会在文件对话框中显示其词性及对应翻译;若该单词没有存在于词库中,则会弹出“警告”,说明“查无此词”;若没有输入直接点击“查询”,则会弹出“警告”,说明“查询对象不能为空”。b) “备份词库”功能要求:可以实现对现有词库的备份,可将当前词库存入用户所设置的任一位位置。c) “添加”功能:弹出对话框,若添加的是词库中没有的单词,系统在添加成功后有提示“添加成功”;若添加的是词库中已有的单词,系统会弹出“警告”,说明“此词汇已存在”。d) “修改单词”功能:弹出对话框,用户可自行修改词库中的单词的解释,若输入单词不存在于词库中,系统会弹出“警告”,说明“不存在此单词”。e) “删除单词”功能:弹出对话框f) 用户可自行删除词库中已有的单词,在删除此单词的同时,其解释也会随之被删除,若输入单词不存在于词库中,系统会弹出“警告”,说明“不存在此单词”。三、概要设计3.1 需求分析电子引词典是一种将传统的印刷词典转成数码方式、进行快速查询的数字学习工具。电脑辞典以轻便易携、查询快捷、功能丰富等特点,成为21世纪学生学习生活、社会人士移动办公的掌上利器。电脑辞典主要有五大板块功能,分别为:辞典查询学习功能、电子记事功能、计算功能、参考资料功能以及数据传输功能。目前市场上的电子辞典内置的辞典有学习词典如英汉、雅思等,也有专业词典如电子、医药等。不同的消费者应根据自己的实际情况选择最适合自己的电子辞典,标准的电子辞典内置英汉、汉英、英英、雅思、托福等学习型词典,是为大学、高初中以及小学生量身定制的学习辞典。 3.2 自定义类说明在该程序中,自定义了两个类。类DataWindow继承了JFrame类,用来创建一个窗体。另一个自定义的类是Dia,该类继承了Dialog,主要是为了解决程序中多次用到的提示框,用自定义的类会更方便一点。类DataWindow中的主要方法有public void Listword()throws SQLException,用来提供查询功能;public static void addword(String ss,String s)throws SQLException,用来提供添加单词的功能;public void modify(String s1,String s2)throws SQLException,用来提供修改单词的功能;public void actionPerformed(ActionEvent e),是用来处理监听到的事件。类Dia中也有此方法,用来处理对话框上的按钮所触发的事件。3.3 界面设计思想界面按照题目要求设计的,主窗体上有相应的按钮,点击不同的按钮会触发不同的事件,从而达到题目要求。3.4 方法定义说明运用JAVA语言的封装性,每一个方法完成一个功能。Listword()方法完成查询功能;addword(String ss,String s)方法完成添加单词功能;modify(String s1,String s2)方法完成单词修改功能;delete(String s1)方法完成删除功能。词库备份功能在监听器方法public void actionPerformed(ActionEvent e)中直接实现。3.5 数据库说明1、该程序用的是SQL server 2005数据库与Java连接。在运行该程序之前,要先创建一个名为DBTest的数据库,并在该数据库中新建一个名为dic的表,这个表中有两列,命名为“单词”和“解释”(包括词性和汉语解释)。数据类型都设置为varchar(30);因为只有这种数据类型是在数据不到30个字符的时候,后边不补空格。其他数据类型,在数据长度不到给定长度的时候,都要添加空格,以达到给定的长度。如果用其他的数据类型,因为空格也是字符,所以在进行查询的时候,即使看着单词是一模一样,也查询不到结果。还要向表中录入几条记录,还可以通过Excel表添加单词个数。还需要把数据库用户名为sa密码改为123456.因为我的电脑上的密码是123456,所以写程序的时候密码也是123456.呵呵。 2、接下来我们要注册ODBC数据源。首先打开控制面板,找到管理工具,然后打开,你就可以看到如下图:3、点开ODBC数据源,然后在“用户DNS“之下添加,如图4、点击“添加”按钮,向下拉选择“SQL Server”;5、按照提示一步一步操作,最后测试数据源,在这里就不再赘述了,呵呵。6、Microsoft SQL Server JDBC Driver 2.0的下载,可以到微软官网下载。下载完成后,解压到C:Program FilesMicrosoft SQL Server路径下,然后找到sqljdbc.jar和sqljdbc4.jar两个文件,复制到lib文件夹下,并设置好classpath路径。四、详细设计4.1 程序流程图开始 主窗体词库备份删除修改添加查询结果结束4.2 登陆界面设计1、具体实现过程DataWindoe类继承JFrame类,封装有上图所示的按钮、标签、文本框等属性,封装有成员函数listWord(),addword(String ss,String s),modify(String s1,String s2),delete(String s1)用来添加各个属性值。因为用到SQL server 2005数据库,所以要抛出SQLException异常,每一个要与数据库连接的方法都要抛出异常。 2、关键代码设计import java.awt.*;import java.sql.*;import java.util.*;import java.io.*;import java.awt.event.*;import javax.swing.*;class DataWindow extends JFrame implements ActionListenerprivate JMenuItem fileYH=new JMenuItem("英汉词典");private JMenuItem fileBF=new JMenuItem("备份词库");private JMenuItem fileTC=new JMenuItem("退出");private JMenuItem editTJ=new JMenuItem("添加词库");private JMenuItem editXG=new JMenuItem("修改词库");private JMenuItem editSC=new JMenuItem("删除词库");private JMenuItem helpCX=new JMenuItem("程序信息");JTextField englishtext;JTextArea chinesetext;JButton cx,fy,tj,xg,sc; DataWindow() super("英汉小词典");/setSize(500,200);setBounds(300,300,500,300);setVisible(true);englishtext=new JTextField(20);chinesetext=new JTextArea(5,10);cx=new JButton("查询");fy=new JButton("发音");tj=new JButton("添加");xg=new JButton("修改");sc=new JButton("删除");JMenu file=new JMenu("文件");JMenu edit=new JMenu("编辑");JMenu help=new JMenu("帮助");file.add(fileYH);file.add(fileBF);file.addSeparator();file.add(fileTC);edit.add(editTJ);edit.add(editXG);edit.add(editSC);help.add(helpCX);JMenuBar bar=new JMenuBar();bar.add(file);bar.add(edit);bar.add(help);setJMenuBar(bar);JPanel p1=new JPanel(),p2=new JPanel();p1.add(new JLabel("输入要查询的英语单词:");p1.add(englishtext);p1.add(cx);p1.add(fy);add(p1,"North");p2.add(tj);p2.add(xg);p2.add(sc);add(p2,"South");add(chinesetext,"Center");cx.addActionListener(this);fy.addActionListener(this);tj.addActionListener(this);xg.addActionListener(this);sc.addActionListener(this);fileTC.addActionListener(this);fileBF.addActionListener(this);editTJ.addActionListener(this);editXG.addActionListener(this);editSC.addActionListener(this);helpCX.addActionListener(this);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););public void actionPerformed(ActionEvent e)if(e.getSource()=cx) tryListword();catch(SQLException ee)System.out.println("SQLException:"+ee.getMessage(); if(e.getSource()=tj|e.getSource()=editTJ) Dia dia=new Dia(this,"添加单词",true);dia.jl1.setText("输入要添加的单词");dia.jl2.setText("输入添加的单词的解释");dia.jp.add(dia.bt1);dia.jp.add(dia.bt2);dia.setVisible(true);if(e.getSource()=xg|e.getSource()=editXG) Dia dia=new Dia(this,"添加单词",true);dia.jl1.setText("输入英语单词");dia.jl2.setText("输入该单词修改的汉语解释");dia.jp.add(dia.bt3);dia.jp.add(dia.bt2);dia.setVisible(true);if(e.getSource()=sc|e.getSource()=editSC) String msg="删除单词"String text=""String info=""info=JOptionPane.showInputDialog(null,msg,text);trydelete(info);catch(SQLException ee)System.out.println("SQLException:"+ee.getMessage();if(e.getSource()=helpCX) JOptionPane.showMessageDialog(null,"何学成 111210236 制作 哈哈");if(e.getSource()=fileTC) System.exit(0);if(e.getSource()=fileBF) File fromfile=new File("/myProgram/java");FileInputStream fis=null;FileDialog filedialog_sava=new FileDialog(this,"",FileDialog.SAVE);filedialog_sava.setVisible(true);tryfis=new FileInputStream(fromfile);int bytesRead;byte buf=new byte4*1024;File tofile=new File(filedialog_sava.getDirectory(),filedialog_sava.getFile();FileOutputStream fos=new FileOutputStream(tofile);while(bytesRead=fis.read(buf)!=-1) fos.write(buf,0,bytesRead);fos.flush();fos.close();fis.close(); catch(IOException e2)public void Listword()throws SQLException String chinese,english;chinesetext.setText("");/声明JDBC驱动程序对象String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver" /定义JDBC的URL对象,DBTest为SQL Server数据库String conURL="jdbc:sqlserver:/localhost:1433;DatabaseName=DBtest" String USER="sa" String PWD="123456" try /加载JDBC-ODBC桥驱动程序 Class.forName(JDriver); catch(java.lang.ClassNotFoundException e) System.out.println("ForName :" + e.getMessage( ); Connection con=DriverManager.getConnection(conURL,USER,PWD);Statement sql=con.createStatement( );ResultSet rs=sql.executeQuery("SELECT * FROM dic");boolean boo=false; while(boo=rs.next()=true) if(englishtext.getText().equals("") String msg="警告!查询对象不能为空"JOptionPane.showMessageDialog(null,msg);break; /StringTokenizer st=new StringTokenizer(rs.getString("单词")," ");/english=st.nextToken(); english=rs.getString("单词"); chinese=rs.getString("解释"); if(english.equals(englishtext.getText() chinesetext.append('n'+chinese); con.close(); if(chinesetext.getText().equals("") String msg="警告!查无此词"JOptionPane.showMessageDialog(null,msg); public static void addword(String ss,String s)throws SQLException /声明JDBC驱动程序对象String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver" /定义JDBC的URL对象,DBTest为SQL Server数据库String conURL="jdbc:sqlserver:/localhost:1433;DatabaseName=DBtest" String USER="sa" String PWD="123456" try /加载JDBC-ODBC桥驱动程序 Class.forName(JDriver); catch(java.lang.ClassNotFoundException e) System.out.println("ForName :" + e.getMessage( ); Connection con=DriverManager.getConnection(conURL,USER,PWD);Statement sql=con.createStatement( );ResultSet rs=sql.executeQuery("SELECT * FROM dic");boolean boo=false;String ename;while(boo=rs.next()=true)ename=rs.getString("单词");/StringTokenizer st=new StringTokenizer(rs.getString("单词")," ");/ename=st.nextToken();if(ename.equals(ss)JOptionPane.showMessageDialog(null,"警告!此词已存在");break;if(boo=false)String r="insert into dic(单词,解释) values('"+ss+"','"+s+"')"sql.executeUpdate(r);sql.close();con.close();JOptionPane.showMessageDialog(null,"添加成功");public void modify(String s1,String s2)throws SQLException System.out.print(s1+s2);String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver" String conURL="jdbc:sqlserver:/localhost:1433;DatabaseName=DBtest" String USER="sa" String PWD="123456" try /加载JDBC-ODBC桥驱动程序 Class.forName(JDriver); catch(java.lang.ClassNotFoundException e) System.out.println("ForName :" + e.getMessage( ); Connection con=DriverManager.getConnection(conURL,USER,PWD);Statement sql=con.createStatement( );ResultSet rs=sql.executeQuery("SELECT * FROM dic");boolean boo=false;String ename;while(boo=rs.next()=true)ename=rs.getString("单词");if(ename.equals(s2)PreparedStatement ps=con.prepareStatement("UPDATE dic set 解释=? where 单词=?");System.out.print(s1+s2);ps.setString(1,s1);ps.setString(2,s2);ps.executeUpdate();JOptionPane.showMessageDialog(null,"修改成功");break;if(boo=false)sql.close();con.close();JOptionPane.showMessageDialog(this,"警告!不存在此单词","警告",JOptionPane.WARNING_MESSAGE);public void delete(String s1)throws SQLException String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver" String conURL="jdbc:sqlserver:/localhost:1433;DatabaseName=DBtest" String USER="sa" String PWD="123456" try /加载JDBC-ODBC桥驱动程序 Class.forName(JDriver); catch(java.lang.ClassNotFoundException e) System.out.println("ForName :" + e.getMessage( ); Connection con=DriverManager.getConnection(conURL,USER,PWD);Statement sql=con.createStatement( );ResultSet rs=sql.executeQuery("SELECT * FROM dic");boolean boo=false;String ename;while(boo=rs.next()=true)ename=rs.getString("单词");if(ename.equals(s1)PreparedStatement ps=con.prepareStatement("delete from dic where 单词=?");ps.setString(1,s1);ps.executeUpdate();JOptionPane.showMessageDialog(null,"删除成功");break;if(boo=false)sql.close();con.close();JOptionPane.showMessageDialog(this,"警告!不存在此单词","警告",JOptionPane.WARNING_MESSAGE);public static void main(String args)DataWindow win=new DataWindow();class Dia extends Dialog implements ActionListenerTextField txt1=new TextField(10),txt2=new TextField(10);JButton bt1=new JButton("提交"),bt2=new JButton("取消"),bt3=new JButton("提交");JPanel jp=new JPanel();JLabel jl1=new JLabel(),jl2=new JLabel();Dia(JFrame f,String s,boolean b)super(f,s,b);setBounds(300,300,300,200);setLayout(new GridLayout(5,1);add(jl1);add(txt1);add(jl2);add(txt2);add(jp);bt1.addActionListener(this);bt2.addActionListener(this);bt3.addActionListener(this);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=bt1) tryDataWindow.addword(txt1.getText(),txt2.getText();catch(SQLException ee)System.out.println("SQLException:"+ee.getMessage(); setVisible(false);if(e.getSource()=bt2) setVisible(false);if(e.getSource()=bt3) tryDataWindow a=new DataWindow();a.modify(txt2.getText(),txt1.getText();catch(SQLException ee)System.out.println("SQLException:"+ee.getMessage(); 3、运行结果截图查询功能添加功能修改功能删除功能帮助信息词库备份功能五、 设计心得与体会可能是水平太低的缘故吧,个人感觉课程设计好难呀!尤其是Java与SQL server 2005连接,特别难,从SQL Server 2005的下载、安装,到下载SQL与Java连接的驱动程序,再到程序的调试运行,没有哪一步是简简单单做到的,网上的资料虽然很多,也很全面,但是比较分散,由于不知道哪个错哪个对,必须得一个一个筛选,选择对自己有用的资料。下载软件的时候,有好的恶意的连接,耽误了大量的时间,从微软官网下载的SQL Server 2005总是安装错误,后来还是在百度文库里边找到一篇文章,按照里边的提示这才完成了安装工作。驱动程序的测试也是比较烦人的,sqljdbc.jar和sqljdbc4.jar两个文件不知道到底要复制到哪个文件夹下,网上有好多种说法有的说放在bin文件夹下,有的说放在lib文件夹下,还有的说放在jre文件夹下,反正乱七八糟,没办法,只有一个一个试了,到最后所有的文件夹下都有这两个文件了。还有Microsoft SQL Server JDBC Driver 2.0,这个驱动有很多旧版本的JDK都不能用,我用的是jdk1.7.0_0_10这个版本,这个过程中我把jdk1.4,到jdk1.7所有的版本都用了个遍,这才成功与数据库连接。在调试程序的时候,出错是在所难免的,改错是比较烦人的,语法错误还好改一点,要是逻辑错误就非常的难改,这对耐心是极大的挑战,你必须仔细分析逻辑结构,仔细琢磨到底是哪里出错了。经过五天的努力,这个基于SQL Server 2005的英汉小词典终于被我做出来了,虽然过程异常的枯燥,甚至是有点烦心,但成功了之后还是很开心的。从未知到已知是一个艰难的过程,必须一心一意地仔细钻研,学习是一件枯燥的事,但等你学会后就会感觉很开心,自己能把所学用到实际生活中,会有一种说不出的成就感。

    注意事项

    本文(Java课程设计报告模板.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开