1、java个人通讯录课程设计报告别山东交通学院面向对象课程设计个人通信录管理信息系统的设计与实现院(系)别 信息科学与电气工程学院 班 级 学 号 姓 名 指导教师 时 间 2014-08-252014-09-5 课 程 设 计 任 务 书 题 目 个人通讯录管理系统 院 (部) 信息科学与电气工程学院 专 业 计算机科学与技术 班 级 学生姓名 学 号 08 月 25 日至 09 月 5 日 共 2 周指导教师(签字) 院 长(签字) 年 月 日一、 设计内容及要求目的:通过本题目的设计,加深对面向对象程序设计技术的理解,掌握利用数据库编写小型程序的基本过程和方法。 任务:1) 利用面向对象编
2、程技术,完成个人信息的存储管理;2) 选择系统开发平台(JAVA或.NET)和软件架构(C/S、单机版);3) 要求系统能够对联系人的系统进行录入、查询、编辑、导入和导出等。二、 设计原始资料三、设计完成后提交的文件和图表2图纸部分:程序流程图四、进程安排8月258月26,程序流程图,程序设计总框图8月278月28,数据库连接,删除部分代码8月29,登陆界面代码9月19月4添加、修改、查找、导出数据库部分代码9月5号 答辩。五、主要参考资料1 java语言及其应用 董佑平,夏冰冰 清华大学出版社 2012成 绩 评 定 表作品成绩报告成绩口试(答辩)成绩总评成绩课程设计概述本课程设计是java
3、语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力2本次课程设计主要目的及要求:设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、文件备份、退出。通讯录记录信息包括:姓名,电话,email等。(1)通讯录的每一条信息包括姓名,单位,电话!(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录
4、信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。3.设计思想:个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注后,会提示是否继续添加;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询
5、:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注即可完成修改;(6)删除:可以直接删除多余的通讯录记录;(7)帮助:可以在帮助里面修改用户密码;(8)导出数据库:可以将数据库以文本txt格式导出。程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。总体设计流程图图2-1 总体设计流程1 程序测试登陆界面图4-1 登陆界面相关代码:public Loginframe() login = new JDialog, 个人通讯录登入界面, true); (DO_NOT
6、HING_ON_CLOSE); (null); (new GridLayout(3, 0); username = new TextField(10); password = new TextField(10); (); (); certain = new JButton(certain); cancel = new JButton(cancel); (new LoginIn(); (new LoginIn(); JLabel lb1 = new JLabel(用户名 :); JLabel lb2 = new JLabel(密 码 :); JPanel p1 = new JPanel(); J
7、Panel p2 = new JPanel(); JPanel p3 = new JPanel(); (lb1); (username); (lb2); (password); (*); (certain); (cancel); (300, 200); (p1); (p2); (p3); (true); (); public static void main(String args) new Loginframe(); 点击“certain”,登录成功,点击确定,进入个人通讯录管理系统, 个人通讯录管理系统界面相关代码:public Loginframe() login = new JDial
8、og, 个人通讯录登入界面, true); (DO_NOTHING_ON_CLOSE); (null); (new GridLayout(3, 0); username = new TextField(10); password = new TextField(10); (); (); certain = new JButton(certain); cancel = new JButton(cancel); (new LoginIn(); (new LoginIn(); JLabel lb1 = new JLabel(用户名 :); JLabel lb2 = new JLabel(密 码 :)
9、; JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); (lb1); (username); (lb2); (password); (*); (certain); (cancel); (300, 200); (p1); (p2); (p3); (true); (); public static void main(String args) new Loginframe(); 2.点击左上角的“文件导出数据库”,public Fdkeep() fdsave = new JDialog, 导出数
10、据, true); (null); (new GridLayout(2, 0); JLabel labelSave = new JLabel(输入保存的完整的路径:); JLabel labele1 = new JLabel(例如:D: + + ); saveok = new JButton(save); savegp = new JButton(give up); lbSave = new TextField(10); (new FileExportDBAction(); (new FileExportDBAction(); JPanel p9 = new JPanel(); JPanel
11、p10 = new JPanel(); (labelSave); (lbSave); (labele1); (saveok); (savegp); (p9); (p10); (); (true); 添加界面点击“保存”将新加的信息加入数据库,系统会告知“添加成功”。相关代码:public class Panelframeaction implements ActionListener String sql1; Connection con; Statement stmt; public void actionPerformed(ActionEvent e) if (JButton) ().ge
12、tText().equals(保存) String nname, sx, bday, mphone, phone, compay, email, home, group, note, msnqq; nname = sx = bday = + - + + - + mphone = phone = compay = email = home = group = note = msnqq = try con = new Connect().getConnection(); stmt = (); sql1 = INSERT INTO address + VALUES( + nname + , + sx
13、 + , + bday + , + mphone + , + phone + , + compay + , + email + , + home + , + group + , + note + , + msnqq + ); (sql1); (null, 添加成功); Image(); (); (); catch (Exception ex) (); if (JButton) ().getText().equals(取消) Image(); if (JButton) ().getText().equals(退出查询界面) Image(); if (JButton) ().getText().e
14、quals(保存修改) String sx, bday, mphone, phone, compay, email, home, group, note, msnqq; sx = bday = + - + + - + mphone = phone = compay = email = home = group = note = msnqq = try con = new Connect().getConnection(); stmt = (); sql1 = update address set 性别= + sx + , 生日= + bday + , 移动电话= + mphone + , 固定
15、电话= + phone + + , 公司地址= + compay + , EMail= + email + , 家庭地址= + home + , 组别= + group + , 备注= + note + , MSNQQ= + msnqq + where 姓名= + + ; int aa = (sql1); (); if (aa 0) (null, 修改成功); Image(); else (null, 修改失败); (); (); catch (Exception ex) (); 选择“编辑删除”,按照提示输入删除的用户名点击“删除”后,则系统会提示“删除成功”相关代码:public clas
16、s deleteFrameaction implements ActionListener String sql; Connection con; Statement stmt; public void actionPerformed(ActionEvent e) 删除界面不可见 if (JButton) ().getText().equals(删除) String nn = try con = new Connect().getConnection(); stmt = (); sql = delete from address where 姓名= + + () + ; (sql); (nul
17、l, 删除成功); (); ();etText().equals(放弃) 点击“文件按姓名查找”,输入所需要查找的用户名图4-13 查找记录点击“查询”,系统会对数据库进行查找,并提示“查找结束”相关代码:public QueryFrame() findFrame = new JDialog, 查找记录, true);etText().equals(显示查询结果) String nm, sx, mp, ph, em, ca, ha, nb, gp, lbMQ, all; boolean bdr; Date bd; try con = new Connect().getConnection();
18、 stmt = (); sql = SELECT*FROM address; ResultSet ws = (sql); while () nm = (1); sx = (2); bd = (3); mp = (4); ph = (5); ca = (6); em = (7); ha = (8); gp = (9); nb = (10); lbMQ = (11); all = 姓名 + nm + 性别 + sx + 生日 + bd + 移动电话 + mp + 固定电话 + ph + MSN/QQ + lbMQ + 公司地址 + ca + EMail + em + 家庭地址 + ha + 组 别
19、 + gp + 备注 + nb + n; (); (); catch (Exception ex) Exception: + (); if (JButton) ().getText().equals(退出全部查询) ); 数据库建表:密码修改功能无法实现至此,个人通讯录管理系统的调试运行全部完成。设计体会及今后的改进意见在此次Java开发过程中,有很多东西值得我们思考并总结。开发过程大体可分为以下几个步骤:思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。最后修饰:程序可以正确运行之后,再不影响程
20、序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化增强程序的新意与可行性。通过这次课程设计,使我们更加熟悉的掌握了Java语言的运用。帮助我们熟悉了更多Java语言的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。这次的程序实设计实验是对我们进入大学以来学习程序设计语言结果的一次大检验。自己动手,自己发现和解决问题。发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决。我相信在以后的学习能够解决好它们。但是,收获还是不小的,我不仅对Java的操作有了进一步的掌握,还了解到了程序设计的书写风格。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1