个人通讯录管理 (JAVA课程设计 2011)

合集下载

个人通信录管理系统课程设计

个人通信录管理系统课程设计

个人通信录管理系统一、需求描述(1)查看功能:选择此功能时,列出下列三类选择。

A 办公类;B 个人类;C 商务类;当选中某类时,显示出此类所有数据中的姓名和电话号码)(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类;B 个人类; C 商务类;当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字。

(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。

(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

二、系统总体分析设计具体函数:修改 void alter() 删除void deleted()查看 void show() 添加void increase()拨号 void dail() 主函数int main()三、编码#include <iostream>#include <string>using namespace std;struct node{string name;string telephone;string sort;};class base{protected:node a[15];int i;public:base(){i=0;}void show()//------------------------查看{int j,x;if(i!=0){cout<<"***********选择3个类中的一个:************"<<endl;cout<<"*****************1:办公*****************"<<endl;cout<<"*****************2:个人*****************"<<endl;cout<<"*****************3:商务*****************"<<endl;cin>>x;switch(x){case 1:for(j=0;j<i;j++)if(a[j].sort=="办公"){cout<<"姓名"<<" "<<"号码"<<endl;cout<<a[j].name<<" "<<a[j].telephone<<endl;}break;case 2:for(j=0;j<i;j++)if(a[j].sort=="个人"){cout<<"姓名"<<" "<<"号码"<<endl;cout<<a[j].name<<" "<<a[j].telephone<<endl;}break;case 3:for(j=0;j<i;j++)if(a[j].sort=="商务"){cout<<"姓名"<<" "<<"号码"<<endl;cout<<a[j].name<<" "<<a[j].telephone<<endl;}break;}}else cout<<"空间无信息!"<<endl;}void increase()//----------------------增加{string q,p,r;cout<<"输入要存于的数据:"<<endl;cin>>q>>p>>r;for(int j=0;j<i;j++){if(a[j].name==q&&a[j].telephone==p)break;}if(i<15){if(j==i){a[i].name=q;a[i].telephone=p;a[i].sort=r;i++;}else cout<<"数据录入重复!"<<endl;}else cout<<"存储空间已满!"<<endl;}void dail()//------------------------拨号{string f,t;int p,k=0,r,m;cout<<"此类存储的所有姓名:"<<endl;for(int j=0;j<i;j++)cout<<a[j].name<<endl;cout<<"输入要拨号的姓名:"<<endl;cin>>f;j=0;for(j=0;j<=i;j++){if(f==a[j].name){cout<<"号码为:"<<endl;cout<<a[j].telephone<<endl;t=a[j].telephone+'#';while(t[k]!='#'){cout<<a[j].telephone[k]<<" ";k++;for(m=0;m<80000000;m++){// k=k*k;}}// k=4;for(m=0;m<20;m++){cout<<".";for(r=0;r<80000000;r++){// k=k*k;}cout<<'\b';cout<<' ';cout<<'\b';cout<<"..";for(r=0;r<80000000;r++){// k=k*k;}cout<<'\b';cout<<'\b';cout<<' ';cout<<' ';cout<<'\b';cout<<'\b';cout<<"...";for(r=0;r<80000000;r++){k=k*k;}cout<<'\b';cout<<'\b';cout<<'\b';cout<<' ';cout<<' ';cout<<' ';cout<<'\b';cout<<'\b';cout<<'\b';putchar('\a');}cout<<endl;break;}}if(j>i)cout<<"无此人的信息!"<<endl;}void alter()//-------------------------修改{string f;cout<<"输入要修改的姓名:"<<endl;cin>>f;for(int j=0;j<=i;j++){if(f==a[j].name){cin>>a[j].name>>a[j].telephone>>a[j].sort;break;}}if(j>i)cout<<"无此人的信息!"<<endl;}void deleted()//-----------------------删除{string f;cout<<"输入要删除的姓名:"<<endl;cin>>f;for(int j=0;j<=i;j++){if(f==a[j].name){for(int k=j;k<=i;k++){a[j].name=a[j+1].name;a[j].telephone=a[j+1].telephone;}i--;break;}}if(j>i)cout<<"无此人的信息!"<<endl;}};int main(){base k1;for(;;){cout<<"******************************"<<endl;cout<<"1.增加新联系人"<<endl;cout<<"2.修改联系人信息"<<endl;cout<<"3.删除联系人"<<endl;cout<<"4.查看联系人"<<endl;cout<<"5.拨号功能"<<endl;cout<<"******************************"<<endl;int k;cin>>k;switch(k){case 1:k1.increase();break;case 2:k1.alter();break;case 3:k1.deleted();break;case 4:k1.show();break;case 5:k1.dail();break;}}return 0;}四、程序运行说明1.添加联系人2.查看已输入的信息3.修改信息并查看修改结果(李艾改为李浩)4. 删除信息并查看修改结果(删除李浩)5.拨号功能(拨号王楠)五、部分程序功能描述在实验负责修改和删除程序,一下是我负责的程序源代码,利用数组和if循环语句实现该功能。

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 权限管理模块框架图该子模块中用户在运用这个通讯录系统前要注册成为该系统的用户,每次打开通讯薄前都需要登录系统,以保证用户通讯信息安全性。

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

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

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

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

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

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

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

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

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

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

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

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

个人通讯管理系统java课程设计

个人通讯管理系统java课程设计

个人通讯管理系统java课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握个人通讯管理系统的基本概念、设计方法和实现技术。

技能目标要求学生能够运用Java语言独立完成个人通讯管理系统的开发,培养学生的实际编程能力和问题解决能力。

情感态度价值观目标培养学生的创新意识,提高学生对计算机科学和软件工程的兴趣,使学生认识到信息技术在现代社会中的重要性和应用价值。

二、教学内容教学内容主要包括个人通讯管理系统的基本概念、设计方法和实现技术。

首先,介绍个人通讯管理系统的发展历程、功能和特点,使学生了解个人通讯管理系统的背景和应用场景。

其次,讲解个人通讯管理系统的设计方法,包括需求分析、系统设计、模块划分等,培养学生的问题分析和设计能力。

然后,教授Java语言的基本语法、数据结构和常用类库,使学生能够熟练使用Java语言进行编程。

最后,结合实际案例,讲解个人通讯管理系统的实现技术,包括数据库设计、界面设计、功能实现等,培养学生的实际编程能力和问题解决能力。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。

首先,通过讲授法向学生传授个人通讯管理系统的基本概念、设计方法和实现技术。

其次,通过讨论法激发学生的思考和讨论,培养学生的创新意识和问题解决能力。

然后,通过案例分析法让学生结合实际案例进行分析和设计,提高学生的实际编程能力和问题解决能力。

最后,通过实验法让学生动手实践,培养学生的实际操作能力和问题解决能力。

四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。

教材和参考书用于向学生传授个人通讯管理系统的基本概念、设计方法和实现技术。

多媒体资料用于辅助讲解和展示,使学生更直观地理解个人通讯管理系统的设计和实现。

实验设备用于让学生动手实践,培养学生的实际操作能力。

此外,还可以利用网络资源,如在线编程平台、开源个人通讯管理系统等,为学生提供更多的学习资源和实践机会。

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

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

个人通讯录管理系统课程设计一、引言个人通讯录管理系统是一种方便用户管理联系人信息的软件,它可以帮助用户方便地存储、查找、编辑和删除联系人信息。

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

二、需求分析在开发个人通讯录管理系统之前,我们需要进行需求分析,明确系统所需要实现的功能。

根据实际需求,本系统需要实现以下功能:1. 用户登录:用户可以通过输入用户名和密码登录系统。

2. 联系人管理:用户可以添加、查找、编辑和删除联系人信息。

3. 分组管理:用户可以将联系人分组,并对不同分组进行管理。

4. 备份与恢复:用户可以备份和恢复联系人信息。

5. 数据统计:系统可以对联系人信息进行统计,并生成相应的报表。

三、概要设计概要设计是指在需求分析基础上,对系统进行整体设计,确定各模块之间的关系。

本系统采用MVC(Model-View-Controller)架构模式,具体如下:1. 模型层(Model):负责数据存储和处理,包括用户信息、联系人信息等数据操作。

2. 视图层(View):负责数据展示和用户交互界面的呈现,包括登录界面、主界面、联系人管理界面等。

3. 控制层(Controller):负责处理用户请求和数据流转,包括用户登录、联系人管理、分组管理、备份与恢复等功能。

四、详细设计在概要设计的基础上,我们需要进行详细设计,确定各个模块的具体实现方式。

本系统主要包括以下几个模块:1. 用户登录模块:用户输入用户名和密码后,系统会进行验证,验证成功后跳转到主界面。

2. 联系人管理模块:用户可以添加、查找、编辑和删除联系人信息。

添加联系人时需要输入姓名、电话号码等信息;查找联系人时可以按照姓名或电话号码进行查找;编辑联系人时可以修改姓名、电话号码等信息;删除联系人时需要先选择要删除的联系人。

3. 分组管理模块:用户可以将联系人分组,并对不同分组进行管理。

添加分组时需要输入分组名称;将联系人移动到不同的分组中时需要先选择要移动的联系人。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

小小通讯录-java课程设计报告

小小通讯录-java课程设计报告

凯里学院Java课程设计报告题目小小通讯录所在院系计科院学生姓名潘万鹏、余冬林专业计算机科学与技术班级计09本(1)学号2009406028 20094060312011年12月22日一、系统分析与设计1、系统功能分析本系统通过连接数据库,查询出计09本(1)班同学的联系方式及家庭住址。

2、本系统共包括1个Java源文件,1个Main主类。

3、Java源文件及其功能如表1.1所示。

表1.1 文件清单二、系统实现1、成员变量如表2.1所示2、方法如表2.2所示表2.2 方法3、源文件Main.java代码如下给出。

import java.awt.*;import java.awt.event.*;import java.sql.*;public class Main extends Frame implements ActionListener { //主类// Toolkit.getDefaultToolkit()→获取默认工具包public Toolkit tool = Toolkit.getDefaultToolkit();Label lab1, lab2, lab3, lab4, lab5, lab6;TextField txt1, txt2, txt3, txt4, txt5, txt6;Button but1, but2, but3;public void showWindow() { //显示窗体类// 获取屏幕的x,y坐标int x = tool.getScreenSize().width;int y = tool.getScreenSize().height;setBounds(x / 2 - 250, y / 2 - 275, 500, 450);setLayout(null);lab1 = new Label("学号:");lab2 = new Label("姓名:");lab3 = new Label("性别:");lab4 = new Label("电话:");lab5 = new Label("QQ:");lab6 = new Label("住址:");add(lab1);add(lab2);add(lab3);add(lab4);add(lab5);add(lab6);lab1.setBounds(getWidth() - 450, getHeight() - 400, 50, 30);lab2.setBounds(getWidth() - 450, getHeight() - 350, 50, 30);lab3.setBounds(getWidth() - 450, getHeight() - 300, 50, 30);lab4.setBounds(getWidth() - 450, getHeight() - 250, 50, 30);lab5.setBounds(getWidth() - 450, getHeight() - 200, 50, 30); lab6.setBounds(getWidth() - 450, getHeight() - 150, 50, 30);txt1 = new TextField("2009406001");txt2 = new TextField();txt3 = new TextField();txt4 = new TextField();txt5 = new TextField();txt6 = new TextField();// 设置文本框位置setBounds(int x,int y,int w,int h);txt1.setBounds(getWidth() - 400, getHeight() - 400, 350, 30); txt2.setBounds(getWidth() - 400, getHeight() - 350, 350, 30); txt3.setBounds(getWidth() - 400, getHeight() - 300, 350, 30); txt4.setBounds(getWidth() - 400, getHeight() - 250, 350, 30); txt5.setBounds(getWidth() - 400, getHeight() - 200, 350, 30); txt6.setBounds(getWidth() - 400, getHeight() - 150, 350, 30);add(txt1);add(txt2);add(txt3);add(txt4);add(txt5);add(txt6);// 添加按钮but1 = new Button("上一个");but2 = new Button("查询");but3 = new Button("下一个");but1.setBounds(getWidth() - 450, 380, 100, 30);but2.setBounds(getWidth() / 2 - 50, 380, 100, 30);but3.setBounds(getWidth() / 2 + 110, 380, 100, 30);add(but1);add(but2);add(but3);// 添加事件驱动but1.addActionListener(this);but2.addActionListener(this);but3.addActionListener(this);txt1.addActionListener(this);addWindowListener(new WindowAdapter(){ //添加关闭监视器public void windowClosing(WindowEvent e){System.exit(0);}});setVisible(true);validate();setResizable(false);but1.setVisible(false);but3.setVisible(false);}public void actionPerformed(ActionEvent e) { //添加动作监听// 连接数据库,并进行编程if (e.getActionCommand() == "上一个") {//上一个代码开使String a=txt1.getText();int i=Integer.parseInt(a);i=i-1;Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+i+"' ");while(rs.next()){String number1=rs.getString(1);//学号String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt1.setText(number1);txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);}//上一个代码结束}if (e.getActionCommand() == "查询") {//如果单击“查询”按钮则:but1.setVisible(true);but3.setVisible(true);String a=txt1.getText();Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+a+"' ");while(rs.next()){String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);//查询代码结束}}if (e.getActionCommand() == "下一个"){//单击按钮“下一个”//下一个开始String a=txt1.getText();int i=Integer.parseInt(a);i=i+1;Connection con;Statement sql;ResultSet rs;try{con=DriverManager.getConnection("jdbc:odbc:小小通讯录","admin","admin");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM information where 学号 = '"+i+"' ");while(rs.next()){String number1=rs.getString(1);//学号String number2=rs.getString(2);//姓名String number3=rs.getString(3);//性别String number4=rs.getString(4);//联系电话String number5=rs.getString(5);//联系QQString number6=rs.getString(6);//家庭住址txt1.setText(number1);txt2.setText(number2);txt3.setText(number3);txt4.setText(number4);txt5.setText(number5);txt6.setText(number6);}con.close();}catch(SQLException e1){System.out.println(e1);}//下一个结束}}public static void main(String args[]) { //main方法Main m = new Main();m.showWindow();}}三、系统测试图3.1程序运行,可得出此效果图。

java课程设计通讯录

java课程设计通讯录

java 课程设计通讯录一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法和面向对象编程思想,通过实现一个简单的通讯录应用程序,培养学生解决实际问题的能力。

具体目标如下:1.掌握Java基本数据类型、运算符、控制结构。

2.理解面向对象编程的基本概念,如类、对象、封装、继承、多态。

3.熟悉Java常用类库,如String、ArrayList、HashMap等。

4.能够使用Java编写简单的程序,实现基本的数据处理和算法。

5.能够运用面向对象编程思想设计和实现应用程序。

6.掌握基本的调试和排错技巧。

情感态度价值观目标:1.培养学生对编程的兴趣和热情,提高学生解决问题的自信心。

2.培养学生团队协作、自主学习的习惯。

3.培养学生对编程事业的尊重和敬业精神。

二、教学内容本章节的教学内容主要包括以下几个部分:1.Java基本语法:数据类型、运算符、控制结构。

2.面向对象编程:类、对象、封装、继承、多态。

3.Java常用类库:String、ArrayList、HashMap等。

4.通讯录应用程序设计:需求分析、系统设计、编码实现、测试与调试。

三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:讲解Java基本语法、面向对象编程思想和通讯录应用程序设计。

2.案例分析法:分析实际案例,让学生更好地理解面向对象编程思想和应用程序设计。

3.实验法:让学生动手编写和调试程序,提高学生的实际操作能力。

4.讨论法:学生进行小组讨论,培养学生的团队协作和沟通能力。

四、教学资源为了支持本章节的教學,将准备以下教学资源:1.教材:《Java编程思想》、《Java核心技术》。

2.参考书:提供相关领域的经典教材和在线资源。

3.多媒体资料:制作PPT、视频教程等,帮助学生更好地理解教学内容。

4.实验设备:为学生提供必要的编程环境和实验设备。

五、教学评估本章节的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。

java课程设计任务书 个人通讯录系统的设计与开发.

java课程设计任务书 个人通讯录系统的设计与开发.

武汉理工大学华夏学院课程设计报告书课程名称: JAVA课程设计题目:个人通讯录系统的设计与开发系名:信息工程系专业班级:计网1092姓名:学号:30710909304指导教师: 邱珊凌伟2011年12 月25日课程设计任务书学生姓名:专业班级:指导教师:邱珊凌伟工作单位:信息工程系设计题目:个人通讯录系统的设计与开发。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)使用JAVA开发一个个人通讯录系统, 包括使用JAVA SWING技术进行前台用户界面的设计和开发; 后台关系数据库的设计以及使用JDBC技术与后台数据库进行连接, 并能调试运行。

该系统将能够实现用户登录功能,并对群组信息和联系人信息进行增加,删除,修改和查询的功能。

系统总体架构如下:设计报告撰写格式要求:一、课程设计说明书(或报告书)正文内容【设计题目】例如:宣传小报的设计排版【开发环境】硬件环境:微机系列,内存在1G以上,软件环境:Microsoft Windows XP 【开发工具】 word 2000【完成时间】2008-1 –11-----2008.1.17【需求分析】分析阐述用户的管理需要以及对应到要实现的管理系统应具有什么样的功能。

【系统总体设计】在明确了所要解决的问题后,很自然地就要提出自己解决问题的思路和方案。

让读者了解方案的总体设计和关键技术。

要阐述自己的设计方案,说明为什么要选择或设计这样的方案。

具体包括:系统总的设计思路,体系结构, 总体架构, 功能模块图;各功能模块所要达到的设计目标的简单介绍;设计的数据字典(数据库、表的结构);使用的设计软硬件环境和开发技术和平台等。

【系统详细设计】在这部分中,要将整个开发工作的内容进行详细的介绍。

一般按照功能模块分成几部分来介绍。

每部分应包括文字叙述、界面图片、关键实现技术(操作或代码)等几个方面综合说明问题。

【系统调试和测试】调试:介绍设计过程中遇到的问题和解决方法。

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

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

个人通讯录管理系统课程设计1. 课题背景随着科技的快速发展,手机、互联网成为人们生活中不可或缺的一部分。

而个人通讯录作为常用的联系人管理工具,也随之变得越来越重要。

然而,传统的通讯录管理方式已经无法满足现代人的需求,需要一种更加高效、智能且便捷的个人通讯录管理系统。

2. 课题意义个人通讯录管理系统具有以下意义:•提高联系人管理效率:通过系统化的管理方式,能够快速、准确地查找和更新联系人信息,极大提高管理效率。

•便捷备份和恢复:个人通讯录管理系统能够自动备份联系人信息,避免意外丢失,在需要时可以方便地进行数据恢复。

•数据共享与同步:通过云服务等技术手段,实现联系人信息的共享和同步,方便在不同终端之间的使用。

•智能化管理:个人通讯录管理系统可以根据用户的使用习惯和需求,提供智能的搜索、分类和推荐功能,提升用户体验。

3. 系统设计要求个人通讯录管理系统应满足以下要求:1.用户管理:支持用户注册、登录、注销等功能,确保用户信息的安全和隐私。

2.联系人管理:–添加联系人:用户可以添加新的联系人,并填写详细的联系人信息。

–编辑联系人:用户可以对已有联系人进行编辑和更新操作。

–删除联系人:用户可以删除不需要的联系人记录。

–查找联系人:系统应提供便捷的查找功能,能够根据关键字、首字母等条件进行快速查找。

–排序联系人:用户可以按照姓名、公司、职位等字段对联系人进行排序。

–分类管理:用户可以为联系人进行分类管理,方便筛选和组织联系人。

3.通信功能:–拨打电话:用户可以直接在系统内拨打电话,省去手动输入号码的麻烦。

–发送短信:用户可以通过系统快速发送短信给联系人。

–发送邮件:用户可以通过系统发送邮件给联系人。

4.数据备份与恢复:系统应具备数据备份和恢复功能,保证联系人信息的安全性和可靠性。

5.数据同步:系统应支持数据同步,使得联系人信息可以在不同设备之间同步更新,并实现实时更新。

6.智能化管理:系统应提供智能的搜索、分类和推荐功能,使得用户能够更加高效地管理联系人。

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

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

课程设计(论文)任务书设计题目:个人通讯录管理系统专业班级:10计算机科学与技术2班主要内容:设计GUI界面的个人通讯录,用户可以添加,删除,修改,查询,打印通讯录中的记录!采用图形用户界面,通过菜单选择相应的操作,直观且操作简单。

数据库用MySQL;编辑平台选用MyEclipse 。

所用到的知识点有:类的基本构成,异常处理,图形用户界面,文件操作和数据库。

基本要求:用图形用户界面实现,能实现增加记录,删除记录,显示所有记录,查询记录,文件备份。

通讯录的功能包括:姓名,电话,Email 等。

使用数据库做后台连接!1目录一、开发背景 (1)二、可行分析 (1)三、设计内容……………………………………………………………………….错误!未定义书签。

四、设计要求……………………………………………………………………….错误!未定义书签。

五、具体设计 (4)六、具体分工 (5)七、程序设计 (9)1、主程序模块…………………………………………………….....…........1错误!未定义书签。

1、添加模块…………………………………………………….....…........1错误!未定义书签。

2、删除模块 (22)4、背景框格设计 (32)八、实习心得 (35)2一、开发背景在信息化不断发展的今天,社会成员相互之间联系越来越紧密,联系方式也越来越多。

我们除了手机,移动电话等常规联系方式外,现在还有了电子邮箱、MSN、QQ等信息化的联系方式,那么为了方便我们将每个联系人的多个联系方式保存在一起,方便由于一种联系方式联系不到某人时,可查询其他联系方式,以前的“纸质”通讯录已经越来越赶不上信息化的速度,势必被淘汰,所以我们用所学过的知识实现一个“非纸质”通讯录。

二、可行分析介绍了一个简单实用的个人通讯录管理系统java工程,详细描述了本人在编程时候的编程思想和在MyEclipse 6.5中调试运行的步骤,简明扼要地介绍了整个工程的功能和实用方法。

java课程设计报告之个人通讯录管理程序

java课程设计报告之个人通讯录管理程序

一、设计内容 (2)二、设计要求 (2)三、总体设计 (2)四、具体设计 (2)五、具体分工 (4)六、程序设计 (4)1、UseSystem;类 (4)2、MySystem类 (5)3、User类 (18)4、UserService类 (21)5、DAO类 (27)七、实习心得 (28)一、设计内容设计GUI界面的个人通讯录,用户可以添加,删除,修改,查询,打印通讯录中的记录!二、设计要求用图形用户界面实现:1、能实现增加记录,删除记录,显示所有记录,查询记录,文件备份。

2、通讯录的功能包括:姓名,电话,Email等。

3、使用数据库做后台连接!三、总体设计有5个类各类之间的关系!1、DAO.java该类主要负责进行数据库连接,含有数据库的连接方法!2、User.java实体类主要作用是实现java的封装特性,利用服务类实现各种增删改查的操作方法!3、UserService.java该类主要是对各种操作方法的定义和实现,是实现增删改查等主要功能的服务类!4、MySeystem该类主要是实现图形化界面的!实现按钮,输入框,标签等图形化界面!5、UseSystem该类是程序的主类,该类含有main方法,程序从该类开始执行。

四、具体设计将5个java文件保存到同一个文件夹中,例如:C:\test。

将5个java文件分别编译生成相应的字节码(class)文件。

然后,用java解释器运行主类:主界面修改界面添加界面五、具体分工我参与设计添加页面,添加方法,数据库部分操作。

六、程序设计代码:1、UseSystem;类public class UseSystem {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubnew MySystem().validate();}}2、MySystem类import java.awt.*;import java.awt.*;import java.awt.event.*;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.*;import javax.swing.*;import er;import erService;public class MySystem extends JFrame implements ActionListener, ItemListener {UserService uService = new UserService();User u=new User();Choice choice = new Choice();JTextField t1 = new JTextField(15);JButton b1 = new JButton("查询");java.awt.List list = new java.awt.List(6, true);JButton b2 = new JButton("增加");JButton b3 = new JButton("删除");JButton b4 = new JButton("修改");JButton b5 = new JButton("导出");Container con = getContentPane();java.util.List<User> uList = new ArrayList<User>();//static Vector<User> uv = new Vector<User>(100);int flag=0;MySystem() {super("个人通讯录管理程序");setSize(400, 400);con.setLayout(new BorderLayout());choice.add("姓名");choice.add("类别");choice.add("手机号码");choice.add("查询全部记录");Panel p1 = new Panel();// Panel p2=new Panel();Panel p3 = new Panel();p1.setBackground(Color.blue);p1.setSize(300, 10);// p2.setBackground(Color.cyan);// p2.setSize(380, 300);p3.setBackground(Color.green);list.setSize(300, 300);p1.add(choice);p1.add(t1);p1.add(b1);p3.add(b2);p3.add(b4);p3.add(b3);p3.add(b5);con.add("North", p1);con.add("Center", list);con.add("South", p3);setVisible(true);validate();addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {setVisible(false);System.exit(0);}});b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);list.addItemListener(this);}@Overridepublic void actionPerformed(ActionEvent e) {if (e.getSource() == b2) {//通过产生外部窗体,来实现添加功能final JFrame newf = new JFrame("添加联系人");newf.setSize(400, 400);newf.setVisible(true);newf.setLayout(new GridLayout(10, 2));JLabel jb1 = new JLabel("联系人姓名:");final JTextField jtf1 = new JTextField(15); Panel pp1 = new Panel();pp1.add(jb1);pp1.add(jtf1);newf.getContentPane().add(pp1);JLabel jb2 = new JLabel("联系人电话:"); final JTextField jtf2 = new JTextField(15); Panel pp2 = new Panel();pp2.add(jb2);pp2.add(jtf2);newf.getContentPane().add(pp2);JLabel jb3 = new JLabel("固定电话:"); final JTextField jtf3 = new JTextField(15); Panel pp3 = new Panel();pp3.add(jb3);pp3.add(jtf3);newf.getContentPane().add(pp3);JLabel jb4 = new JLabel("联系人QQ :"); final JTextField jtf4 = new JTextField(15); Panel pp4 = new Panel();pp4.add(jb4);pp4.add(jtf4);newf.getContentPane().add(pp4);JLabel jb7 = new JLabel("联系人email:"); final JTextField jtf7 = new JTextField(15); Panel pp7 = new Panel();pp7.add(jb7);pp7.add(jtf7);newf.getContentPane().add(pp7);JLabel jb8 = new JLabel("联系类别:");final JTextField jtf8 = new JTextField(15);Panel pp8 = new Panel();pp8.add(jb8);pp8.add(jtf8);newf.getContentPane().add(pp8);JLabel jb5 = new JLabel("联系人工作:");final JTextField jtf5 = new JTextField(15);Panel pp5 = new Panel();pp5.add(jb5);pp5.add(jtf5);newf.getContentPane().add(pp5);JLabel jb6 = new JLabel("现居住地地址:");final JTextField jtf6 = new JTextField(15);Panel pp6 = new Panel();pp6.add(jb6);pp6.add(jtf6);newf.getContentPane().add(pp6);JButton bb1 = new JButton("提交");JButton bb2 = new JButton("关闭");Panel pp9 = new Panel();pp9.add(bb1);pp9.add(bb2);newf.getContentPane().add(pp9);// JTextArea jta=new JTextArea();Panel pp10=new // Panel();pp10.add(jta);newf.getContentPane().add();bb1.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent ee) { User u = new User();u.setName(jtf1.getText());u.setTel(jtf2.getText());u.setPhone(jtf3.getText());u.setQq(jtf4.getText());u.setWork(jtf5.getText());u.setAddress(jtf6.getText());u.setEmail(jtf7.getText());u.setCategory(jtf8.getText());if (uService.add(u)) {JOptionPane.showMessageDialog(null, "添加成功!!!");} elseJOptionPane.showMessageDialog(null, "添加失败!!!");}});bb2.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent ee) {newf.setVisible(false);}});}if (b1 == e.getSource()) {//通过调用select();实现模糊查询list.removeAll();select();}if (b3 == e.getSource()) {//通过获得联系人在list中的索引号,来实现对联系人的删除if (flag == 0) {JOptionPane.showMessageDialog(null, "不能删除该行!");}u = uList.get(flag - 1);if (uService.delById(u.getId())) {JOptionPane.showMessageDialog(null, "删除成功!");uList.remove(flag - 1);list.removeAll();list.add("编号" + " " + "姓名" + " " + "电话");for (User u1 :uList) {list.add(u1.getId() + ": " + u1.getName() + " "+ u1.getTel());}} elseJOptionPane.showMessageDialog(null, "删除失败!");}if(b4==e.getSource()){//通过获得联系人在list中的索引号,同弹出一个外部窗体其中//有联系人的信息,用户可以修改.并在将其存入数据库if (flag == 0) {JOptionPane.showMessageDialog(null, "不能修改首行!");return;}u = uList.get(flag - 1);final JFrame newf = new JFrame("添加联系人");newf.setSize(400, 400);newf.setVisible(true);newf.setLayout(new GridLayout(10, 2));JLabel jb1 = new JLabel("联系人姓名:");final JTextField jtf1 = new JTextField(u.getName(),15);Panel pp1 = new Panel();pp1.add(jb1);pp1.add(jtf1);newf.getContentPane().add(pp1);JLabel jb2 = new JLabel("联系人电话:");final JTextField jtf2 = new JTextField(u.getTel(),15);Panel pp2 = new Panel();pp2.add(jb2);pp2.add(jtf2);newf.getContentPane().add(pp2);JLabel jb3 = new JLabel("固定电话:");final JTextField jtf3 = new JTextField(u.getPhone(),15);Panel pp3 = new Panel();pp3.add(jb3);pp3.add(jtf3);newf.getContentPane().add(pp3);JLabel jb4 = new JLabel("联系人QQ :");final JTextField jtf4 = new JTextField(u.getQq(),15);Panel pp4 = new Panel();pp4.add(jb4);pp4.add(jtf4);newf.getContentPane().add(pp4);JLabel jb7 = new JLabel("联系人email:");final JTextField jtf7 = new JTextField(u.getEmail(),15);Panel pp7 = new Panel();pp7.add(jb7);pp7.add(jtf7);newf.getContentPane().add(pp7);JLabel jb8 = new JLabel("联系类别:");final JTextField jtf8 = new JTextField(u.getCategory(),15);Panel pp8 = new Panel();pp8.add(jb8);pp8.add(jtf8);newf.getContentPane().add(pp8);JLabel jb5 = new JLabel("联系人工作:");final JTextField jtf5 = new JTextField(u.getWork(),15);Panel pp5 = new Panel();pp5.add(jb5);pp5.add(jtf5);newf.getContentPane().add(pp5);JLabel jb6 = new JLabel("现居住地地址:");final JTextField jtf6 = new JTextField(u.getAddress(),15);Panel pp6 = new Panel();pp6.add(jb6);pp6.add(jtf6);newf.getContentPane().add(pp6);JButton bb1 = new JButton("提交");JButton bb2 = new JButton("关闭");Panel pp9 = new Panel();pp9.add(bb1);pp9.add(bb2);newf.getContentPane().add(pp9);bb1.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent ee) {u.setName(jtf1.getText());u.setTel(jtf2.getText());u.setPhone(jtf3.getText());u.setQq(jtf4.getText());u.setWork(jtf5.getText());u.setAddress(jtf6.getText());u.setEmail(jtf7.getText());u.setCategory(jtf8.getText());if(uService.update(u)){JOptionPane.showMessageDialog(null, "修改成功!");select();}else JOptionPane.showMessageDialog(null, "修改失败!"); }});bb2.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent ee) {newf.setVisible(false);}});}if(b5==e.getSource()){//实现全部联系人的导出File f=new File("user_information.txt");try {FileWriter w_file=new FileWriter(f);BufferedWriter b_file=new BufferedWriter(w_file);b_file.write("联系人编号\t姓名\t手机号码\t固定电话\tqq号码\temail\t类别\t工作\t现居住地地址\t");b_file.flush();for(User u:uService.getAllUser()){b_file.write(u.getId()+"\t"+u.getName()+"\t"+u.getTel()+"\t"+u.getP hone()+"\t"+u.getQq()+"\t"+u.getEmail()+"\t"+u.getCategory()+"\t"+u.getWork()+"\t"+u.g etAddress()+"\n");b_file.flush();}JOptionPane.showMessageDialog(null, "导出成功!");} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}@Overridepublic void itemStateChanged(ItemEvent a) {int sum = Integer.parseInt(a.getItem().toString());flag=sum;}public void select(){if (choice.getSelectedItem().equals("姓名")) {//对姓名进行模糊查询uList.clear();for (User u : uService.getUser("name", t1.getText())){uList.add(u);}list.removeAll();list.add("编号" + " " + "姓名" + " " + "电话");for (User u :uList) {list.add(u.getId() + ": " + u.getName() + " "+ u.getTel());}}if (choice.getSelectedItem().equals("类别")) {//对类别进行模糊查询uList.clear();for (User u : uService.getUser("category", t1.getText())){uList.add(u);}list.removeAll();list.add("编号" + " " + "姓名" + " " + "电话");for (User u : uList) {list.add(u.getId() + ": " + u.getName() + " "+ u.getTel());}}if (choice.getSelectedItem().equals("手机号码")) {//对手机号码进行模糊查询uList.clear();for (User u : uService.getUser("tel", t1.getText())){uList.add(u);}list.removeAll();list.add("编号" + " " + "姓名" + " " + "电话");for (User u : uList) {list.add(u.getId() + ": " + u.getName() + " "+ u.getTel());}}if (choice.getSelectedItem().equals("查询全部记录")) {//对全部的联系人进行查询uList.clear();for (User u : uService.getAllUser()){uList.add(u);}list.removeAll();list.add("编号" + " " + "姓名" + " " + "电话");for (User u : uList) {list.add(u.getId() + ": " + u.getName() + " "+ u.getTel());}}}}3、User类public class User {private int id;private String name;private String tel;private String email;private String phone;private String category;private String address;private String work;private String qq;public User() {super();// TODO Auto-generated constructor stub}public User(int id, String name, String tel, String email, String phone,String category, String address, String work,String q) {super();this.id = id; = name;this.tel = tel;this.email = email;this.phone = phone;this.category = category;this.address = address;this.work = work;this.qq=q;}public String getQq() {return qq;}public void setQq(String qq) {this.qq = qq;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}public String getEmail() {return email;}public void setEmail(String email) { this.email = email;}public String getPhone() {return phone;}public void setPhone(String phone) { this.phone = phone;}public String getCategory() {return category;}public void setCategory(String category) { this.category = category;}public String getAddress() {return address;}public void setAddress(String address) { this.address = address;}public String getWork() {return work;}public void setWork(String work) {this.work = work;}}4、UserService类import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import .system.model.*;public class UserService extends DAO {/**** 方法目的:添加联系人* @param u* @return*/public boolean add(User u){boolean flag=false;StringBuilder sql=new StringBuilder();sql.append("insert into TB_user (name,tel,phone,qq,email,category,work,address) values(?,?,?,?,?,?,?,?)");con=DAO.getConnect();try {pst=con.prepareStatement(sql.toString());pst.setString(1,u.getName());pst.setString(2,u.getTel());pst.setString(3,u.getPhone());pst.setString(4,u.getQq());pst.setString(5,u.getEmail());pst.setString(6,u.getCategory());pst.setString(7,u.getWork());pst.setString(8,u.getAddress());if(pst.executeUpdate()>0)flag=true;pst.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return flag;}/***** 方法目的:根据编号删除联系人* @param id* @return*/public boolean delById(int id){boolean flag=false;StringBuilder sql=new StringBuilder();sql.append("delete from TB_user where id=?");con=DAO.getConnect();try {pst=con.prepareStatement(sql.toString());pst.setInt(1, id);if(pst.executeUpdate()>0)flag=true;pst.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return flag;}/**** 方法目的:更新联系人* @param u* @return*/public boolean update(User u){boolean flag=false;StringBuilder sql=new StringBuilder();sql.append("update TB_user set name=?,tel=?,phone=?,qq=?,email=?,category=?,work=?,address=? where id=?");con=DAO.getConnect();try {pst=con.prepareStatement(sql.toString());pst.setString(1,u.getName());pst.setString(2,u.getTel());pst.setString(3,u.getPhone());pst.setString(4,u.getQq());pst.setString(5,u.getEmail());pst.setString(6,u.getCategory());pst.setString(7,u.getWork());pst.setString(8,u.getAddress());pst.setInt(9, u.getId());if(pst.executeUpdate()>0)flag=true;pst.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return flag;}/***** 方法目的:根据条件进行模糊查询* @param n* @param v* @return*/public List<User> getUser(String n,String v){List<User> uList=new ArrayList<User>();StringBuilder sql=new StringBuilder();User u=null;sql.append("select * from TB_User where "+n+" like ?");con=DAO.getConnect();try {pst=con.prepareStatement(sql.toString());pst.setString(1,"%"+v+"%");rs=pst.executeQuery();while(rs.next()){u=new User();u.setId(rs.getInt("id"));u.setName(rs.getString("name"));u.setAddress(rs.getString("address"));u.setCategory(rs.getString("category"));u.setEmail(rs.getString("email"));u.setPhone("phone");u.setTel(rs.getString("tel"));u.setQq(rs.getString("qq"));u.setWork(rs.getString("work"));uList.add(u);}pst.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return uList;}/*** 方法目的:得到全部的联系人* @return*/public List<User> getAllUser(){List<User> uList=new ArrayList<User>();StringBuilder sql=new StringBuilder();User u=null;sql.append("select * from TB_User");con=DAO.getConnect();try {pst=con.prepareStatement(sql.toString());rs=pst.executeQuery();while(rs.next()){u=new User();u.setId(rs.getInt("id"));u.setName(rs.getString("name"));u.setAddress(rs.getString("address"));u.setCategory(rs.getString("category"));u.setEmail(rs.getString("email"));u.setPhone("phone");u.setTel(rs.getString("tel"));u.setQq(rs.getString("qq"));u.setWork(rs.getString("work"));uList.add(u);}pst.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return uList;}}5、DAO类import java.sql.*;public class DAO {protected Connection con;protected Statement st;protected PreparedStatement pst;protected ResultSet rs;public static Connection getConnect(){Connection conn=null;Strings="jdbc:sqlserver://localhost:1433;databaseName=DB_WAB";try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(s,"sa","0000");} catch (Exception e) {System.out.println("错误提示:0"+e.getMessage());// e.printStackTrace();}return conn;}}七、实习心得实习,顾名思义,在实践过程中学习。

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

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

通讯录管理系统课程设计报告Java1. 简介通讯录管理系统是一种方便用户存储和管理联系人信息的工具。

本课程设计将使用Java语言开发一个简单的通讯录管理系统,实现对联系人信息的增删改查功能。

通过本项目的实践,学习者将掌握Java编程语言的基础知识和面向对象编程的技巧。

2. 功能需求通讯录管理系统应包含以下功能: - 添加联系人信息:用户可以输入联系人的姓名、电话号码、邮箱等信息添加到通讯录中。

- 显示所有联系人信息:系统能够展示所有已保存在通讯录中的联系人信息。

- 查找联系人信息:用户可以通过姓名或电话号码查找特定联系人的信息。

- 修改联系人信息:用户可以对已保存的联系人信息进行修改。

- 删除联系人信息:用户可以删除通讯录中的联系人信息。

实现以上功能需要设计相应的数据结构和算法,以及编写用户交互界面。

3. 技术实现3.1 数据结构在Java中,可以使用ArrayList或HashMap等数据结构来存储联系人信息。

ArrayList适用于有序的联系人列表,而HashMap适用于根据键值快速查找联系人信息。

3.2 用户交互界面用户交互界面可以通过Java的Swing或JavaFX等GUI工具包来实现。

设计一个简洁明了的界面,包含菜单栏、输入框、按钮等组件,以方便用户操作。

3.3 功能实现•添加联系人信息:用户输入信息后,将联系人信息添加到数据结构中。

•显示所有联系人信息:遍历数据结构,将所有联系人信息展示在界面上。

•查找联系人信息:根据用户输入的查询条件,在数据结构中查找对应的联系人信息。

•修改联系人信息:根据用户输入的修改信息,更新数据结构中相应的联系人信息。

•删除联系人信息:根据用户输入的删除条件,从数据结构中移除对应的联系人信息。

4. 总结通讯录管理系统是一个简单实用的应用程序,能够帮助用户有效管理联系人信息。

通过本课程设计,学习者将学习如何使用Java语言开发基本的应用程序,掌握面向对象编程的基本原理和技巧。

通讯录java课程设计

通讯录java课程设计

通讯录java课程设计一、教学目标本节课的学习目标包括以下三个方面:1.知识目标:学生需要掌握Java语言中的基本语法、数据类型、控制结构、数组、字符串等基础知识,了解Java语言的面向对象编程思想,包括类、对象、封装、继承和多态等概念。

2.技能目标:学生能够运用Java语言编写简单的程序,如计算器、通讯录等,培养学生解决问题的能力,提高学生的编程实践能力。

3.情感态度价值观目标:通过学习Java语言,培养学生对计算机编程的兴趣,激发学生的创新意识,培养学生的团队合作精神,使学生认识到编程在实际生活中的应用价值。

二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据类型。

2.控制结构和数组。

3.字符串操作。

4.面向对象编程思想,包括类、对象、封装、继承和多态等概念。

5.Java语言的编程实践,如计算器、通讯录等程序的编写。

三、教学方法本节课采用以下几种教学方法:1.讲授法:讲解Java语言的基本语法、数据类型、控制结构、数组、字符串等基础知识。

2.案例分析法:通过分析计算器、通讯录等实际案例,使学生理解和掌握面向对象编程思想。

3.实验法:让学生动手编写程序,培养学生的编程实践能力。

4.讨论法:在课堂上引导学生进行思考和讨论,激发学生的创新意识,提高学生的团队合作精神。

四、教学资源本节课的教学资源包括以下几个方面:1.教材:Java语言程序设计。

2.参考书:Java核心技术、Java编程思想等。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、网络等。

五、教学评估本节课的评估方式包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。

2.作业:布置相关的编程作业,评估学生对知识的理解和应用能力。

3.考试:进行期中和期末考试,全面测试学生对Java语言的基本语法、数据类型、控制结构、数组、字符串等知识的掌握程度。

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

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

功能描述:用户 可以添加新的联 系人信息
界面设计:简洁 明了,易于操作
数据存储:将新添 加的联系人信息存 储到数据库中
PART FOUR
使用JDBC(Java Database Connectivity) 技术进行数据库连接
连接数据库需要提供数据库URL、用户名、 密码等信息
使用Connection对象建立与数据库的连 接
性能优化: 采用索引、 缓存等技 术提高查 询效率
用户界面: 设计简洁、 易于使用 的查询界 面,方便 用户操作
操作流程:选择联系人,点 击删除按钮,确认删除
功能描述:删除指定联系人 信息
异常处理:删除失败时,提 示用户并重新尝试
数据库操作:删除联系人信 息,更新数据库记录
模块名称:添加 联系人
使用Statement或PreparedStatement对象 执行SQL语句
使用ResultSet对象获取查询结果
关闭数据库连接,释放资源
主界面:显 示通讯录列 表,包括姓 名、电话、 地址等信息
编辑界面: 编辑联系人 信息,包括 姓名、电话、 地址等
搜索界面: 根据姓名、 电话等信息 进行搜索
PART SIX
项目目标:实现个人通讯录管理系统 技术栈:Java、数据库、前端框架等 项目成果:实现了联系人管理、信息查询、数据备份等功能 项目挑战:数据库设计、前端交互、性能优化等 项目经验:团队协作、需求分析、代码规范等 未来展望:继续优化系统、增加新功能、提高用户体验等
收获:掌握了Java语言和面向对象编程的基本知识,提高了编程能力 收获:学会了如何设计一个完整的系统,包括需求分析、系统设计、编码实现和测试等环节 不足:在系统设计中,对某些功能的实现不够完善,需要进一步改进 不足:在编码实现中,对某些算法的效率不够高,需要进一步优化

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

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

目录一、设计题目 (1)二、设计目的 (1)三、需求分析 (1)四、总体设计 (1)1.程序总体设计思想 (1)2.程序设计总体框图 (2)五、详细设计 (2)1.功能模块图 (3)2.数据库概念模型 (3)3.数据库逻辑结构设计 (4)4.数据库表的建立 (4)5. 数据库的连接 (4)六、算法描述与实现 (5)1.登录界面 (5)2.通讯记录界面 (7)3.修改联系人界面 (8)4.删除联系人界面 (9)5.添加联系人记录界面 (10)七、结论 (11)八、参考文献 (12)一、设计题目通讯录管理系统二、设计目的本课程设计是java语言学习中很重要的实践性环节之一,是在学习完java课程后进行的一次全面的综合练习旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。

三、需求分析通讯录要求实现最基本的功能,包括新建联系人,查找信息,删除信息,修改信息,退出系统,为此需要首先定义记录项的格式,其基本属性包括姓名、电话、地址、邮箱。

通讯录管理系统的主要包括以下功能:(1). 新建联系人:操作添加一条新的联系人。

(2). 查找信息:查出一条已经存在的联系人。

(3). 删除信息:删除一个联系人的信息。

(4). 修改信息:修改联系人的基本信息。

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
}
}
return content;
}
public void WriteFile(String path)
{
File file = new File(path);
FileOutputStream fos = null;
try
{
fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
}
public void DeleteImfor()
{
System.out.println("---------删除记录---------");
String name = "";
String[] imfors = null;
content = ReadFile();
while(true)
{
System.out.println("你要删除的姓名是:");
}
}
else {
System.out.println("文件不存在");
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (fr != null)
{
try
{
fr.close();
}
catch (IOException e)
{
e.printStackTrace();
content = ReadFile();
if (!IsNull(content))
{
String[] imfors = content.split("。");
System.out.println("姓名\t电话\tEmail");
for (int i = 0; i < imfors.length; i++)StrBiblioteka ng[] imfor = null;
String name = "";
boolean bool = false;
while(true)
{
result = "";
System.out.println("请输入关键字(按姓名查找):");
name = sc.next();
bool = false;
——————————————————————————————————————
方法名:WriteFile(),WriteFile(String path)
作用:找到路径文件并且写入
——————————————————————————————————————
方法名:AddImfor()
作用:增加记录,找到路径,江添加人的姓名,电话,Email信息写入文件并记录
}
File file = new File(filePath);
FileOutputStream fos = null;
try
{
fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
{
String[] imfor = imfors[i].split(",");
for (int j = 0; j < imfor.length; j++)
{
System.out.print(imfor[j] + "\t");
}
System.out.println();
}
}
else
{
System.out.println("暂时还没有记录");
PrintWriter pw = new PrintWriter(bos, true);
pw.print(content);
pw.flush();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
finally
{
if (fos != null)
}
}
else
{
System.out.println("无此人信息");
}
System.out.println("0、Exit 1、继续");
int i = sc.nextInt();
if (i == 0)
{
break;
}
}
}
else
{
System.out.println("文件还没有记录");
}
}
public void Copy()
{
imfors[i] = "";
}
}
content = "";
for (int i = 0; i < imfors.length; i++)
{
if (!IsNull(imfors[i]))
{
content = content + imfors[i] + "。";
}
}
WriteFile();
System.out.println("删除成功");
name = sc.next();
if (content.indexOf(name) != -1)
{
imfors = content.split("。");
for (int i = 0; i < imfors.length; i++)
{
if (imfors[i].indexOf(name) != -1)
String email = "";
content = ReadFile();
while(true)
{
System.out.println("姓名:");
name = sc.next();
System.out.println("电话:");
tel = sc.next();
System.out.println("Email:");
if (content.indexOf(name) != -1)
{
imfors = content.split("。");
for (int i = 0; i < imfors.length; i++)
{
if (imfors[i].indexOf(name) != -1)
{
imfor = imfors[i].split(",");
PrintWriter pw = new PrintWriter(bos, true);
pw.print(content);
pw.flush();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
finally
{
if (fos != null)
{
try
{
fos.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
public void WriteFile()
{
if (IsNull(filePath))
{
System.out.println("文件存储路径:");
filePath = sc.nextLine();
——————————————————————————————————————
方法名:QweryImfor()
作用:查找记录,输入姓名,查找是否存在该人物信息,如果存在,输出人物相关信息,如果不存在,提示“无此人信息”
——————————————————————————————————————
方法名:Copy()
编程实现个人通讯录管理(用文件存储)。主要提供如下功能:
(1)增加记录
(2)删除记录
(3)显示所有记录
(4)查询记录
(5)文件备份
(6)退出
通讯录记录信息包括:姓名,电话,email等信息
类名:AddList
作用:完成整个程序操作
方法名:ReadFile()
作用:判断该路径下是否有相关文件并且读取文件
{
try
{
fos.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
public void AddImfor()
{
System.out.println("--------增加记录---------");
String name = "";
String tel = "";
if (imfor[0].equals(name))
{
bool = true;
result = result + imfors[i] + "。";
相关文档
最新文档