Java个人通讯录管理系统(主文档)

合集下载

JAVA学生通讯录管理系统

JAVA学生通讯录管理系统

序号:学号: ********常州大学课程设计课程名称:《面向对象程序设计(JAVA)》题目:通讯录管理系统*名:***学院:信息科学与工程学院专业班级:计算机112***师:***设计时间: 2012 年 12 月 24 日 2013 年 1 月 11 日目录一、系统分析 (4)1.功能分析: (4)2.功能模块: (4)3.程序流程图: (4)二、数据库设计 (5)1.数据库分析: (5)2.数据库连接: (5)3.数据库建立: (6)三、系统的详细设计 (6)1.系统登录界面: (6)(1)登录功能: (6)(2)重置功能(代码): (6)2.系统主界面: (6)(1) 浏览学生信息: (6)(2) 查询学生信息: (7)(3) 添加学生信息: (7)(4)删除学生信息: (7)(5) 排序学生信息: (7)3.浏览学生信息功能: (7)4.查询学生信息功能: (8)5.添加学生信息功能: (9)(1). 添加: (9)(2). 重置: (10)6.删除学生信息功能: (10)7.排序学生信息功能: (11)8.图片插入: (12)9.音乐插入: (13)四、系统的使用说明 (13)1.登录界面: (13)2.系统主界面: (14)3.浏览学生信息界面: (15)4.查询学生信息界面: (15)5.添加学生信息界面: (16)6.删除学生信息界面: (16)7.排序学生信息界面: (17)五、日志 (17)六、心得 (18)七、参考文献: (18)八、鸣谢 (18)一、系统分析1. 功能分析:假设某校学生通讯录基本信息主要包括:学号、姓名、通讯地址、电话等,本系统应能对这些基本信息进行管理,并要求具有对学生信息添加、删除、浏览查询和排序等功能。

2. 功能模块:3. 程序流程图:二、数据库设计1.数据库分析:通讯录管理系统是方便大众日常生活的工具,为了迎合大众需求,具体有浏览信息、查询信息、添加和删除信息,及排序等功能。

个人通讯录管理系统,java源代码

个人通讯录管理系统,java源代码

package cn.pab.manager;import java.util.List;import java.util.Scanner;import cn.pab.dao.PersonDao;import cn.pab.dao.TypeDao;import erDao;import cn.pab.dao.impl.PersonDaoImpl;import cn.pab.dao.impl.TypeDaoImpl;import erDaoImpl;import cn.pab.entity.Person;import cn.pab.entity.Type;/*** 业务类*/public class PABmanager {/*** 系统启动*/public static void main(String[] args) {Scanner input = new Scanner(System.in);UserDao userDao = new UserDaoImpl();TypeDao typeDao = new TypeDaoImpl();PersonDao personDao = new PersonDaoImpl();System.out.println("***********欢迎使用个人通讯录管理系统**********");System.out.print("\n请选择操作(1.系统登录 2.密码修改 3.取消):");String in = input.next();if ("1".equals(in)) {boolean islogin = userDao.login();if(islogin){System.out.println("***********成功登录个人通讯录管理系统**********");//System.out.print("\n请选择操作(1.类别管理 2.联系人管理 3.退出系统):");}else{System.out.println("用户名或密码错误,不能登录!");System.exit(-1);}}else if ("2".equals(in)) {boolean modiFlag = userDao.modify();if(modiFlag){System.out.println("密码修改成功!");}else{System.out.println("密码修改失败!");}System.exit(-1);}else{System.out.println("您已经退出系统!");System.exit(-1);}while(true){System.out.print("\n请选择操作(1.类别管理 2.联系人管理 3.退出系统):");String in2 = input.next();if ("1".equals(in2)) {while(true){System.out.print("\n请继续选择操作(1.新建类别 2.查询类别3.删除类别 4.返回):");String num = input.next();if ("1".equals(num)) {System.out.print("请输入类别的名称:");String lbmc = input.next();System.out.print("请输入类别的说明:");String lbsm = input.next();System.out.print("请输入类别的备注:");String lbbz = input.next();Type type = new Type(lbmc,lbsm,lbbz);typeDao.createType(type);}else if ("2".equals(num)) {List<Type> types = typeDao.queryType();System.out.println("\t\t类别信息列表");System.out.println("类别名称\t\t类别说明\t\t类别备注");for (int i = 0; i < types.size(); i++) {Type type =types.get(i);System.out.print(type.getLbmc()+"\t");System.out.print(type.getLbsm()+ "\t\t");System.out.println(type.getLbbz());}}else if ("3".equals(num)) {System.out.print("请输入类别的名称:");String lbmc = input.next();Type type = new Type(lbmc,null,null);typeDao.deleteType(type);}else if ("4".equals(num)) {break;}else{System.out.println("您输入不合法,请重新选择!");}}}else if ("2".equals(in2)) {while(true){System.out.print("\n请继续选择操作(1.新建联系人 2.查询联系人 3.更新联系人 4.删除联系人 5.返回):");String num = input.next();if ("1".equals(num)) {System.out.print("请输入联系人的类别名称:");String lb = input.next();System.out.print("请输入联系人的姓名:");String xm = input.next();System.out.print("请输入联系人的电话:");String dh = input.next();System.out.print("请输入联系人的手机号:");String sjh = input.next();System.out.print("请输入联系人的工作单位:");String gzdw = input.next();System.out.print("请输入联系人的住址:");String zz = input.next();System.out.print("请输入联系人的邮政编码:");String yzbm = input.next();Person person = new Person(lb,xm,dh,sjh,gzdw,zz,yzbm);personDao.createPerson(person);}else if ("2".equals(num)) {System.out.print("请输入联系人的姓名:");String name = input.next();Person p = personDao.queryPerson(name);System.out.println("\t\t查询到的联系人信息");System.out.println("类别\t姓名\t电话\t\t手机号\t\t工作单位\t住址\t邮政编码");System.out.print(p.getLb() + "\t");System.out.print(p.getXm() + "\t");System.out.print(p.getDh() + "\t");System.out.print(p.getSjh() + "\t");System.out.print(p.getGzdw() + "\t");System.out.print(p.getZz() + "\t");System.out.println(p.getYzbm());}else if ("3".equals(num)) {System.out.print("请输入需更新的联系人编号:");int id = input.nextInt();System.out.print("请输入需更新的联系人信息选项:");String item = input.next();System.out.print("请输入联系人信息选项的值:");String val = input.next();personDao.updatePerson(id,item, val);}else if ("4".equals(num)) {System.out.print("请输入要删除联系人的姓名:");String name = input.next();personDao.deletePerson(name);}else if ("5".equals(num)) {break;}else{System.out.println("您输入不合法,请重新选择!");}}}else if ("3".equals(in2)) {System.out.println("您已经退出系统!");System.exit(-1);}else{System.out.println("您输入不合法,请重新选择!");}}}}(资料素材和资料部分来自网络,供参考。

Java通讯录管理系统设计报告

Java通讯录管理系统设计报告

Java通讯录管理系统设计报告1. 引言随着社会发展和信息技术的进步,通讯录在人们的日常生活和工作中变得越来越重要。

Java通讯录管理系统是一种用于管理个人和组织联系信息的软件系统。

本篇文档将详细介绍Java通讯录管理系统的设计和实现。

2. 功能需求Java通讯录管理系统具有以下功能需求: - 添加联系人:用户可以添加新的联系人,包括姓名、电话号码、电子邮件等相关信息。

- 删除联系人:用户可以删除已存在的联系人。

- 编辑联系人:用户可以修改已存在联系人的信息。

- 搜索联系人:用户可以根据姓名、电话号码或其他关键字搜索联系人。

- 显示联系人列表:用户可以查看所有联系人的列表,并按照姓名或其他方式进行排序。

- 导入/导出联系人:用户可以将联系人导入/导出到文件中,以实现数据的备份和共享。

3. 系统设计3.1 技术栈选择Java通讯录管理系统采用Java语言进行开发,使用Java的面向对象特性来实现系统的各个功能模块。

系统使用MySQL数据库来存储联系人的信息。

3.2 系统架构Java通讯录管理系统采用三层架构,分为表示层、业务逻辑层和数据访问层。

•表示层:负责与用户的交互,包括图形界面和用户输入输出的处理。

•业务逻辑层:负责处理用户的请求,对联系人信息进行增加、删除、编辑、搜索等操作,并调用数据访问层进行数据的读写。

•数据访问层:负责与数据库交互,进行联系人信息的读写操作。

3.3 类设计在Java通讯录管理系统中,主要涉及以下类的设计: - Contact类:表示一个联系人,包含姓名、电话号码、电子邮件等属性。

- ContactDAO接口:定义对联系人的增删改查等操作。

- ContactDAOImpl类:实现ContactDAO接口,负责与数据库进行交互。

- ContactService类:负责处理业务逻辑,调用ContactDAOImpl 类进行联系人信息的操作。

- ContactConsole类:表示层的用户界面,处理用户输入输出和展示联系人信息。

java课程设计(通讯录管理系统)

java课程设计(通讯录管理系统)

掌握Java语言基础
理解面向对象编程思 想
掌握数据库操作技术
提高团队协作和沟通 能力
完成一个实用的通讯 录管理系统
联系人管理:添加、删除、修改、查询联系人信息 联系人分组:创建、删除、修改、查询联系人分组 联系人搜索:根据姓名、电话、邮箱等信息进行搜索 联系人导出:将联系人信息导出为Excel、CSV等格式的文件 联系人导入:从Excel、CSV等格式的文件中导入联系人信息 系统设置:修改系统语言、主题、字体等设置
数据库类型:MySQL
数据库表结构:用户表、 联系人表、分组表等
主键和外键:用户ID、联 系人ID、分组ID等
数据库操作:增删改查等 基本操作
数据库优化:索引、缓存、 分表等优化措施
数据库安全:用户权限管 理、数据加密等安全措施
界面布局:简洁 明了,易于操作
色彩搭配:协调 统一,易于阅读
功能模块:联系 人管理、分组管 理、搜索功能等
汇报人:
添加标题
添加标题
查询方式:支持模糊查询和精确查 询
查询优化:使用索引提高查询效率
功能描述:删除指定联系人信 息
实现方法:调用数据库删除接 口
操作步骤:选择联系人,点击 删除按钮,确认删除
注意事项:确保删除操作不会 影响其他数据完整性
添加联系人:输入姓名、电话、邮箱等信 息
修改联系人:修改姓名、电话、邮箱等信 息
删除联系人:删除指定联系人
查询联系人:根据姓名、电话、邮箱等信 息进行查询
导出联系人:将联系人信息导出为Excel 或CSV文件
导入联系人:将Excel或CSV文件中的联系 人信息导入到系统中
修改模块界面:提供用户友 好的界面,方便用户操作

JAVA课程设计--个人通讯录管理系统

JAVA课程设计--个人通讯录管理系统

JAVA课程设计课题:个人通讯录管理系统课程名称:java课程设计院系:计算机科学与技术学院班级:09计本组员:组员:组员:组员:指导教师:一、个人通讯录管理系统概述1、需求分析通讯录在当今的日常生活工作中的应用是十分普及的。

每个人都有可能拥有大量的通讯录资料信息,当前大家一般都用手工来记录所有的通讯录信息。

随着时代的进步,人们的联系信息,联系方式变得复杂而多样化,通讯录信息的大量增加,导致管理这些信息资料就成了问题。

直接操作来查找,添加,修改,删除这些信息,由于数据繁多,工作量十分巨大,查找,编辑都十分困难,而且极易出错,容易造成资料的混乱或者丢失。

在各种手机,商务通内设的电话簿尽管携带方便却又存在“记录量少,界面小,浏览不方便,记录数据信息不全面”的缺点。

有些人利用Excel 或Word编制通讯录,虽然数据比较全面,信息比较充分,可是查找极其不便,维护起来也麻烦。

所以运用数据库技术,在计算机中建立一个通讯录资料管理系统十分必要。

使通讯录资料管理工作规范化,系统化,程序化,避免资料管理中的混乱,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改通讯录的情况。

2、系统总体规划1.2.1 系统功能简介个人通讯录系统。

在明确了系统目标与数据库结构的前提下,设计出该系统的主要功能:系统登录、数据输入与修改、数据的删除、联系人和群组管理等。

主要功能包括:(1)可以登录和注册用户;(2)可以显示已有联系人和分组的基本信息。

(3)用户可以对自己已有的联系人和分组进行维护;如:删除和修改。

(4)用户可以随意添加自己的联系人和分组;1.2.2 系统功能模块规划系统的整体功能模块框架如图1.1所示:图1.1 系统整体模块框架图整个系统分为权限管理、群组管理、联系人管理3个子模块,各模块具体实现在下面陈述。

系统登录子模块框架如图1.2所示:图1.2 权限管理模块框架图该子模块中用户在运用这个通讯录系统前要注册成为该系统的用户,每次打开通讯薄前都需要登录系统,以保证用户通讯信息安全性。

(完整word版)个人通讯录管理系统源代码

(完整word版)个人通讯录管理系统源代码

个人通讯录管理系统import javax。

swing。

*;import java。

awt.*;import java。

awt.event。

*;import java.io.*;public class TongXunLu {public static void main(String[] args) {new menu();}}class menu implements ActionListener{JMenuItem zengjia,suoyou,beifen,quit,select,del;JFrame f;Container con;JMenuBar bar;String str1,str2,str3;JFileChooser fc1 = new JFileChooser();File fc2=new File("D://test。

txt”);menu(){f=new JFrame(”通讯录管理系统");f。

setDefaultCloseOperation(JFrame。

DISPOSE_ON_CLOSE);f。

setSize(500, 400);f。

setLocation(130, 150);con=f。

getContentPane();Color c=Color。

YELLOW ;Font fo=new Font("黑体",Font.BOLD,40); JPanel pan=new JPanel();JLabel lab=new JLabel(”通讯录管理系统");lab.setForeground(c);lab.setFont(fo);pan.add(lab);con。

add(pan);bar=new JMenuBar();f。

setJMenuBar(bar);JMenu menu1=new JMenu("文件"); JMenu menu2 =new JMenu(”查询"); JMenu menu3 =new JMenu("删除");zengjia=new JMenuItem("增加记录");suoyou=new JMenuItem(”所有记录”);beifen=new JMenuItem(”文件备份”);quit=new JMenuItem(”退出");select=new JMenuItem(”查询");del=new JMenuItem("删除");menu1.add(zengjia);(完整word版)个人通讯录管理系统源代码menu1。

通讯录管理系统课程设计java

通讯录管理系统是一个常见的软件应用,Java是一种广泛使用的编程语言,使用Java编写通讯录管理系统是一个不错的选择。

以下是通讯录管理系统的Java课程设计大体框架:
1.需求分析:首先需要分析和确定通讯录管理系统的具体需求,明确系统的功能和性能要求。

2.数据库设计:根据需求分析结果,设计系统所需的数据库结构和关系模型,并在MySQL等数据库中创建数据库和表格。

3.界面设计:设计通讯录管理系统的用户界面,包括添加、删除、修改、查询等功能的按钮、文本框等控件,并实现这些控件的布局。

4.后台程序设计:编写Java代码实现系统的后端逻辑,其中主要包括以下几个方面:
(1) 实现用户登录和注册功能,对用户输入的信息进行合法性验证并将其存储在数据库中。

(2) 实现通讯录添加、删除、修改和查询等功能,对用户输入的通讯录信息进行合法性验证并将其存储在数据库中。

(3) 实现数据的持久化,即将用户输入的数据保存到数据库中,并在需要时从数据库中读取数据。

5.测试和调试:完成系统设计后,需要对系统进行测试和调试,确保系统能够正常运行,并满足用户需求。

6.优化和改进:根据测试的结果,对系统进行优化和改进,提高系统的性能和稳定性。

以上是通讯录管理系统的Java课程设计大体框架,具体实现细节可以根据自己的需求进行调整和优化。

个人通讯录管理系统,java源代码

/*** 业务类*/public class PABmanager {/*** 系统启动*/public static void main(String[] args) {Scanner input = new Scanner(System.in);UserDao userDao = new UserDaoImpl();TypeDao typeDao = new TypeDaoImpl();PersonDao personDao = new PersonDaoImpl();String in = input.next();if ("1".equals(in)) {boolean islogin = userDao.login();if(islogin){}else{System.exit(-1);}}else if ("2".equals(in)) {boolean modiFlag = userDao.modify();if(modiFlag){}else{}System.exit(-1);}else{System.exit(-1);}while(true){String in2 = input.next();if ("1".equals(in2)) {while(true){String num = input.next();if ("1".equals(num)) {String lbmc = input.next();String lbsm = input.next();String lbbz = input.next();Type type = new Type(lbmc,lbsm,lbbz);typeDao.createType(type);}else if ("2".equals(num)) {List<Type> types = typeDao.queryType();for (int i = 0; i < types.size(); i++) {Type type =types.get(i);}}else if ("3".equals(num)) {String lbmc = input.next();Type type = new Type(lbmc,null,null);typeDao.deleteType(type);}else if ("4".equals(num)) {break;}else{}}}else if ("2".equals(in2)) {while(true){String num = input.next();if ("1".equals(num)) {String lb = input.next();String xm = input.next();String dh = input.next();String sjh = input.next();String gzdw = input.next();String zz = input.next();String yzbm = input.next();Person person = new Person(lb,xm,dh,sjh,gzdw,zz,yzbm);personDao.createPerson(person);}else if ("2".equals(num)) {String name = input.next();Person p = personDao.queryPerson(name);}else if ("3".equals(num)) {int id = input.nextInt();String item = input.next();String val = input.next();personDao.updatePerson(id,item, val);}else if ("4".equals(num)) {String name = input.next();personDao.deletePerson(name);}else if ("5".equals(num)) {break;}else{}}}else if ("3".equals(in2)) {System.exit(-1);}else{}}}}。

通讯录管理系统java课程设计

通讯录管理系统Java课程设计一、引言随着互联网的发展,人们的日常生活中越来越离不开各种各样的通讯工具。

通讯录是人们生活中常用的一种工具,通过通讯录可以管理和查找联系人的信息,为人们提供了便利。

本文将介绍一个基于Java语言开发的通讯录管理系统的设计和实现过程。

二、系统设计1. 系统需求通讯录管理系统的基本需求包括:添加联系人、删除联系人、查找联系人、编辑联系人信息等功能。

系统需要能够支持多用户使用,保证数据的安全性和可靠性。

2. 系统架构通讯录管理系统采用客户端-服务器模式,客户端负责与用户交互,服务器端负责数据存储和处理。

系统的主要模块包括用户管理模块、联系人管理模块、通讯录导入导出模块等。

3. 数据存储系统使用关系型数据库存储用户信息和联系人信息,保证数据的持久性和一致性。

可以选择使用MySQL或者SQLite等数据库。

三、系统实现1. 技术选型系统采用Java语言进行开发,使用Spring框架实现服务器端的业务逻辑,使用JavaFX构建客户端界面。

数据库访问采用JDBC技术,保证与数据库的连接和数据操作。

2. 功能实现•用户管理:实现用户的注册、登录、修改密码等功能,保证用户信息的安全性。

•联系人管理:实现联系人的添加、删除、查找、编辑等功能,支持分组管理和多种查询方式。

•导入导出:支持导入通讯录文件和导出联系人信息到文件,方便数据的备份和迁移。

四、系统测试系统开发完成后需要进行系统测试,包括功能测试、性能测试、安全测试等,确保系统的稳定性和可靠性。

可以使用Junit进行单元测试,使用JMeter进行压力测试。

五、总结通过本文的介绍,读者可以了解一个基于Java语言开发的通讯录管理系统的设计和实现过程。

通讯录管理系统可以提高人们日常生活中联系人信息的管理效率,为人们的生活提供更多的便利。

希望本文对读者有所帮助,谢谢观看。

以上是通讯录管理系统Java课程设计的相关内容,希朋友们能喜欢。

Java实现简单通讯录管理系统

Java实现简单通讯录管理系统本⽂实例为⼤家分享了Java实现通讯录管理系统的具体代码,供⼤家参考,具体内容如下题⽬:1、完成⼀个通讯录,需求:(1)添加联系⼈(联系⼈:编号,姓名,⼿机号,QQ,邮箱地址)添加时需要检查⼿机号和邮箱地址格式是否正确,若不正确,不允许添加(2)联系⼈查询(输⼊姓名或电话查询)(3)显⽰联系⼈列表(4)根据编号删除指定编号的联系⼈代码分析:之前写过类似的管理系统,不过是使⽤数组进⾏数据存储,这次的通讯录管理系统通过动态数组ArrayList进⾏数据存储。

其中代码实现的原理和之前所写相似。

在此不再赘述。

判断⼿机号邮箱地址格式是否格式正确使⽤了正则表达式进⾏判断,如果输⼊错误则输出提⽰语句,并重新输⼊正确格式,递归实现。

其中修改⼿机号的⽅法和删除⽤户类似,顺带写了⼀下,没有进⾏实现,感兴趣的朋友可以⾃⼰进⾏实现测试⼀下。

代码实现:⽤户类:package com.softeem.j2106.work;/*** @author admin* 2021/7/26*/public class User {private int no;private String name;private String phone;private String QQ;private String email;public User() {}public User(int no, String name, String phone, String QQ, String email) {this.no = no; = name;this.phone = phone;this.QQ = QQ;this.email = email;}public int getNo() {return no;}public void setNo(int no) {this.no = no;}public String getName() {return name;}public void setName(String name) { = name;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getQQ() {return QQ;}public void setQQ(String QQ) {this.QQ = QQ;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User{" +"no=" + no +", name='" + name + '\'' +", phone='" + phone + '\'' +", QQ='" + QQ + '\'' +", email='" + email + '\'' +'}';}}⽤户管理类:public class UserMange {static ArrayList<User> s = new ArrayList<>();public boolean addUser(User user){return s.add(user);}public ArrayList showInfo(){return s;}public User searchByName(String name){for (User user : s) {if (Objects.equals(name,user.getName()) ||Objects.equals(name,user.getPhone())){ return user;}}return null;}public boolean updatePhone(int no,String phone){User user = null;for(User u:s) {if(no == u.getNo()) {u.setPhone(phone);break;}}if(user == null) {System.out.println("该⽤户不存在");return false;}System.out.println("修改成功!");return true;}public boolean delUser(int no){User user = null;for(User u:s) {if(no == u.getNo()) {user = u;break;}}if(user == null) {System.out.println("该⽤户不存在");return false;}return s.remove(user);}}测试类:public class Test2 {static UserMange user = new UserMange();static Scanner sc = new Scanner(System.in);public static void start(){System.out.println("=======SOFTEEM通讯录管理系统=====");System.out.println("【1】添加联系⼈");System.out.println("【2】联系⼈查询");System.out.println("【3】显⽰联系⼈列表");System.out.println("【4】根据编号删除指定编号的联系⼈");System.out.println("=============================");int i = sc.nextInt();switch (i){case 1:add();start();break;case 2:System.out.println("【1】通过联系⼈姓名查询/【2】通过联系⼈电话查询"); int a = sc.nextInt();findbyName(a);start();break;case 3:show();start();break;case 4:del();start();break;case 0:System.out.println("谢谢使⽤,再见!");System.exit(0);break;default:System.out.println("请输⼊正确的指令!");start();break;}}public static void add(){System.out.println("请输⼊联系⼈编号:");int a = sc.nextInt();System.out.println("请输⼊联系⼈姓名:");String b = sc.next();System.out.println("请输⼊联系⼈⼿机号:");String c = sc.next();judgePhone(c);System.out.println("请输⼊联系⼈QQ:");String d = sc.next();System.out.println("请输⼊联系⼈邮箱地址:");String e = sc.next();judgeEmail(e);User x = new User(a,b,c,d,e);if(user.addUser(x)){System.out.println("添加成功!");}}public static void judgePhone(String phone){if (phone.matches("1[34589][0-9]{9}")){}else {System.out.println("⼿机号输⼊有误,请重新输⼊");String v = sc.next();judgePhone(v);}}public static void judgeEmail(String email){if (email.matches("[A-Za-z0-9]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)")){}else {System.out.println("邮箱格式输⼊有误,请重新输⼊");String v = sc.next();judgeEmail(v);}}public static void findbyName(int a){if (a==1){System.out.println("请输⼊联系⼈姓名");}else {System.out.println("请输⼊联系⼈电话");}String name = sc.next();User user = er.searchByName(name);System.out.println(user);}public static void show(){ArrayList list = user.showInfo();for (Object o : list) {System.out.println(o);}}public static void del(){System.out.println("请输⼊编号");int no = sc.nextInt();if(user.delUser(no)){System.out.println("删除成功");}}public static void main(String[] args) {start();}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要这个基于java编写的个人通讯录管理系统含有添加、删除、查找等基本功能。

在程序中完成了与数据库的通信,并同样可以对数据库进行添加、查找、删除等功能。

关键词:个人通讯录管理系统、添加、删除、查找、数据库目录摘要 (1)1 绪论 (3)1.1 设计目的 (3)1.2 设计内容 (3)2 程序需求分析 (3)3 算法分析 (4)3.1 程序总体设计思想 (4)3.2 程序设计总体框图 (5)3.3 程序详细设计 (6)4 调试过程 (8)5 体会 (15)6 参考文献 (15)7 成员评分............................................................................................................................ 错误!未定义书签。

附录(源程序)见另一文档《Java个人通讯录管理系统附录(源程序)》 . (15)1 绪论1.1 设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。

1.2 设计内容在设计一个完整的系统中,我从系统的管理员登录界面开始做,另外依据相关要求,对系统增加了数据库支持(Microsoft Access做的数据库),还有对数据库里的数据进行增加、删除、显示所有记录、查询记录、导出备份数据库文件。

另外为了界面美观,增加了系统主界面背景界面图片的支持。

为了保证数据库的安全,在系统中设立了管理员权限,即只有被允许的用户才可以进入该系统。

2 程序需求分析设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、文件备份、退出。

通讯录记录信息包括:姓名,电话,email等。

(1)通讯录的每一条信息包括姓名,单位,电话(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;(6)应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。

3 算法分析3.1 程序总体设计思想个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注后,会提示是否继续添加;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:输入欲修改的那个人的名字后,再依次输入姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail地址、家庭住址、组别、备注即可完成修改;(6)删除:可以直接删除多余的通讯录记录;(7)帮助:可以在帮助里面修改用户密码;(8)导出数据库:可以将数据库以文本txt格式导出。

程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。

3.2 程序设计总体框图个人通讯录管理系统设计的总体框图如图3-1:图3-1 个人通讯录管理系统设计的总体框图3.3 程序详细设计该程序共有18个类,也分别创建了18个java源程序文件,以下按照文件名字母排序先后解释,另外在此只是简要介绍相关源程序所实现的功能,程序截图参见调试,源程序参见附录:Demonstrationaction.java文件做的是功能表中“编辑—查找全部”的功能,使用此项功能的时候,在点击“显示查询结果”后,让界面显示出全部数据库中的内容;点击“退出全部查询”的时候退出该功能。

Demonstrationframe.java文件做的就是“编辑—查找全部”的界面,上面有标题、文字显示框和两个控制按钮——“显示查询结果”和“退出全部查询”。

Dlframe.java文件做的是“编辑—删除”的界面,有一个文字输入框(提供按名字来删除),和两个控制按钮——“删除”和“放弃”。

Dlframeaction.java文件做的是“编辑—删除”的相关功能,当输入名字之后会进行查找删除,若在数据库中含有当前名字的数据则删除该条数据并显示“删除成功”,否则显示“未找到该项”。

点击“放弃”即退出删除功能。

Fdframe.java文件做的是“编辑—查询”的界面,提供按名字搜索,有一个文字输入框,和两个控制按钮——“查询”和“撤销”。

Fdframeaction.java文件做的是“编辑—查询”的相关功能,输入需要查询的姓名之后,如若在数据库中有符合的数据后,则显示查询结果,并弹窗显示“查询结束”;如若没有对应的数据,则弹窗显示“没有记录”。

点击“撤销”则退出查询功能。

Fdkeep.java文件做的是“文件—导出数据库”的界面,有一个文字输入框提供输入导出的数据库的完整路径,两个控制按钮——“save”和“give up”。

Fdkeepaction.java文件做的是“文件—导出数据库”的相关功能,输入了完整路径之后,会启动Microsoft Office Access导出数据库;如若路径错误,则会弹窗显示“路径错误!”。

点击“give up”后则退出界面。

Frameaction.java文件做的是主界面的相关功能选择。

主界面有三个大选项,文件、编辑和帮助。

其中文件包括导入数据库和退出,编辑包括删除、添加、按姓名查找和查找全部,帮助则是修改管理员密码。

Image.java文件是使主界面支持背景图片的切换,使用的是工程文件夹Images下的U.jpg。

支持任意大小的图片。

Loginframe.java文件做的是主界面的登录界面。

即在程序以java Application运行后需要进行用户登录的界面,提供用户名和密码的文本输入框和两个控制按钮——“certain”和“cancel”。

LoginIn.java文件做的是登录界面的相关功能,对输入的用户名与密码和数据库进行匹配,如若正确则弹窗显示“登录成功”,否则弹窗显示“用户名或密码错误”。

Myaddress.java文件做的是定义了一个公共类Myaddress,并定义了主函数是调用这个Myaddress的公共类。

Panelframe.java文件做的是“编辑—添加”的界面,提供给用户向数据库添加新数据,有对于姓名、性别、出生日期、移动电话、固定电话、MSN/QQ、公司地址、E-Mail 地址、家庭住址、组别、备注等信息录入的文本输入框。

以及最后的两个控制按钮——“保存”和“取消”。

Panelframeaction.java文件做的是“编辑—添加”的相关功能。

在界面中输入相关信息后,点击保存则系统向数据库存入信息,点击取消则将信息丢弃。

同时还确保信息的相关性,例如控制了出生日期是使用了日期控件的使用等等。

Revisionmovement.java文件做的是“帮助—修改密码”的相关功能。

首先验证用户输入的原始密码是否正确,然后接受用户输入的6位以上的新密码,存入数据库并修改密码信息。

Revisionpassword.java文件做的是“帮助—修改密码”的界面。

界面包括两个旧密码和新密码的文本输入框,和两个控制按钮——“保存”和“取消”。

Year.java文件做的是在出生日期里面的日期控件,对平年闰年的区分,然后对各个月不同日期做了相关定义。

4 调试过程调试是一耳光程序员最基本的技能,其重要性甚至超过学习一门语言。

不会调试的程序员就意味着他即使会一门语言,却不能编写出任何好的软件。

这是当初我最开始接触C语言的时候让我感受很深的一句话,我当时很不能理解如果调试真的这么重要,为什么在我们的课本里面却找不到相关的内容,甚至一些相当经典的教材里面也没有对其进行大篇幅的介绍。

直到自己开始写了一些大一点的程序,才发现有时候自己最初设计程序在一些细节上的新颖想法是那么的可笑,带来的只是无穷无尽的错误和威胁。

程序编写完成就应该调试自己所完成的程序,以减少程序中的bug。

以下是我的程序调试以及运行过程截图。

打开MyEclipse 6.0软件,导入Workspace,如图4-1:图4-1 编程环境截图右键点击工程,选择“Run as—Java Application”,成功运行,出现用户登录界面,输入用户名“hyd”,密码“123”,如图4-2:图4-2 个人通讯录登入界面点击“certain”,登录成功,点击确定,进入个人通讯录管理系统点击左上角的“文件—导出数据库”,如图4-3:图4-3 导出数据库输入完整路径之后点击“save”就可以以文本格式保存数据库点击“文件—退出”则退出了个人通讯录管理系统。

接下来是对数据库进行添加、编辑、查找、删除等功能。

故先看看数据库的原文件。

注:本数据库是由Microsoft Office Access 2007创建,如若计算机里面没有Access,编译环境会对Access驱动的设置报错!数据库如图4-4:图4-4 原始数据库选择“编辑—添加”对数据库进行添加操作。

输入如下信息,如图4-5:图4-5 信息添加界面点击“保存”将新加的信息加入数据库,系统会告知“添加成功”。

如图4-6:图 4-6 系统信息添加界面重新查看数据库,可以发现新添加的信息已经加入了数据库。

如图4-7:图4-7 添加信息后的数据库部分截图由上面操作可以知道,添加功能正常。

选择“编辑—删除”,按照提示输入删除的用户名,如图4-8,就假设我们删除刚才添加的信息:图4-8 删除记录点击“删除”后,则系统会提示“删除成功”,如图4-9:图4-9 删除成功重新查看数据库,发现刚才添加的信息已经被成功删除,如图4-10:图4-10 成功删除后的数据库通过以上的删除操作可以知道,系统的删除功能也是可以正常运行的。

点击“文件—按姓名查找”,输入所需要查找的用户名,如图4-11:图4-11 查找记录点击“查询”,系统会对数据库进行查找,并提示“查找结束”并会弹窗显示所查找的结果,如图4-12:图4-12 查找结果以上步骤只能说明是正确输入了数据库中包含的数据,如若数据库中未含有被查找的内容,则系统也应该做出正确的反应。

如图4-13,查找数据库中没有的信息:图4-13 输入数据库中没有的用户名点击“查询”之后,则系统提示“没有记录”,如图4-14:图4-14 查找错误的消息提示以上通过了正确查找和错误两方面充分论证了查找功能的正常运行。

相关文档
最新文档