用JAVA编写通讯录

合集下载

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的学生通讯录管理系统设计和实现一、选题的背景、意义1.选题的背景伴随着通讯录数据的规模不断增多,像数据查询,维护,管理等都将越来越复杂,工作量也将越来越大。

但一直以来人们使用传统人工的方式管理各种数据,这种管理方式存在着许多缺点,比如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

JAVA网络电子通讯录随着人们的需要应运而生。

它检索迅速,方便可靠,逐渐受到人们的喜爱,在改善人们整理和使用通讯录数据上发挥了自己的优点[1,2,3]。

2.选题的目的和意义随着市场经济的发展和人们生活水平的提高,随着科学技术的发展,计算机领域不断取得新的研究成果。

计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活中也越来越离不开计算机。

人们已经不于上网浏览网页,而是想通过网络来实现现实生活中需要处理的事情。

传统的人工管理方式必然显得不合时宜,它的低效率严重阻碍了日益高涨的社会生活节奏[4,5]。

随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

JAVA网络电子通讯作为计算机应用的一部分,使用计算机对各项信息进行管理,具有着手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高工作的效率,也是企业的科学化、正规化管理与世界接轨的重要的条件[6,7,8]。

二、国内外研究现状和发展趋势综述在国内,一些企业和个人都在使用电子通讯录,为他们的工作和生活带来哦极大方便,但是功能参差不齐,有好友坏,种类相对较少,产品同质化严重,缺乏拳头产品,其中蕴含不少商机。

在国外,使用电子通讯录的范围十分广泛,许多人的日常生活和商业,社会活动全靠电子通讯录的支持,完全融入了生活当中,相信不远的将来,当我国电子产品的普及打到国外先进国家水平,我们也将迎来这样的生活方式。

java 串口通信案例

java 串口通信案例

java 串口通信案例Java串口通信是指使用Java编程语言实现与串口设备之间的数据通信。

串口通信在很多应用场景中都有广泛的应用,比如物联网、工业自动化、智能家居等领域。

本文将列举十个以Java串口通信为题的案例,介绍其实现方法和应用场景。

1. 串口读取数据通过Java编程语言实现串口读取数据的功能,可以使用Java的串口通信库,如RXTX、JavaComm等。

首先需要打开串口,并设置串口参数,然后通过监听串口数据的方式实时读取串口传入的数据。

这个案例适用于需要实时监控串口设备数据的应用场景,比如环境监测。

2. 串口发送数据通过Java编程语言实现串口发送数据的功能,可以使用Java的串口通信库。

首先需要打开串口,并设置串口参数,然后通过写入数据的方式将数据发送到串口设备。

这个案例适用于需要向串口设备发送指令或数据的应用场景,比如控制外部设备。

3. 串口数据解析通过Java编程语言实现串口数据解析的功能,可以将从串口读取的原始数据进行解析,提取出有用的信息。

可以根据数据格式进行解析,比如按照特定的协议解析数据。

这个案例适用于需要对串口设备传输的数据进行处理和分析的应用场景。

4. 串口数据存储通过Java编程语言实现串口数据存储的功能,可以将从串口读取的数据保存到本地文件或数据库中。

可以根据需求选择适当的存储方式,比如文本文件、二进制文件或数据库。

这个案例适用于需要对串口设备传输的数据进行长期存储和分析的应用场景。

5. 串口数据转发通过Java编程语言实现串口数据转发的功能,可以将从一个串口读取的数据转发到另一个串口。

可以实现串口设备之间的数据交互,比如串口设备之间的数据通信或设备之间的数据同步。

这个案例适用于需要多个串口设备之间进行数据交互的应用场景。

6. 串口数据监控通过Java编程语言实现串口数据监控的功能,可以监控串口设备的状态和传输数据。

可以实时显示串口设备的连接状态、波特率、数据位、停止位等信息,并实时显示串口传输的数据。

项目通讯录模板

项目通讯录模板

项目通讯录模板一、引言项目通讯录是一个重要的工具,用于记录项目中涉及的各方联系人的基本信息,包括姓名、职务、联系方式等。

本文将介绍一个标准的项目通讯录模板,以便于项目团队在项目执行过程中进行有效的沟通和协作。

二、通讯录模板结构项目通讯录模板应包含以下基本信息字段:1. 姓名:记录联系人的姓名,确保准确无误。

2. 职务:记录联系人在项目中的职务或角色,以便了解其在项目中的职责和责任。

3. 公司/组织:记录联系人所属的公司或组织名称,便于了解其所在单位的背景和定位。

4. 电话:记录联系人的电话号码,包括座机和手机,以便于进行电话沟通和联系。

5. 邮箱:记录联系人的电子邮箱地址,方便进行邮件沟通和联系。

6. 地址:记录联系人的工作地址,方便需要面对面会议或签约等场合的安排。

7. 备注:可用于记录其他相关信息,如联系人的个人特点、喜好或其他需要注意的事项。

三、通讯录模板示例姓名职务公司/组织电话邮箱地址备注---------------------------------------------------------------------------------------------------------------------张三项目经理 ABC公司**************************北京市XXX街道XX号无李四技术总监 XYZ公司**********************上海市XXX街道XX号无王五供应商供应商公司*****************************广州市XXX街道XX号无...四、使用注意事项1. 填写准确性:在填写项目通讯录时,务必保证所填写的信息准确无误,以免给项目执行过程中的沟通和协作带来困扰。

2. 及时更新:项目通讯录应随着项目的进行进行及时更新,以保持信息的准确性和有效性。

3. 保密性:项目通讯录中的信息应当妥善保管,避免泄露给未经授权的人员,以确保信息的安全性。

项目通讯录模板

项目通讯录模板

项目通讯录模板一、引言项目通讯录是一份记录项目成员联系信息的文档,它对于项目团队的沟通和协作至关重要。

本文将介绍一个标准格式的项目通讯录模板,以满足项目团队对于联系信息的管理需求。

二、项目通讯录模板的基本信息1. 项目名称:[项目名称]2. 项目开始日期:[开始日期]3. 项目结束日期:[结束日期]4. 项目经理:[项目经理姓名]5. 项目团队成员总数:[成员总数]三、项目通讯录模板的具体内容项目通讯录模板包括以下列信息:1. 序号:每个成员在通讯录中的排列顺序。

2. 姓名:项目成员的姓名。

3. 职位:项目成员的职位或角色。

4. 部门:项目成员所属的部门。

5. 手机号码:项目成员的手机号码。

6. 办公室电话:项目成员的办公室电话号码。

7. 邮箱:项目成员的电子邮箱地址。

8. 微信号:项目成员的微信号码。

9. 其他联系方式:如项目成员的QQ号码或Skype账号等。

四、项目通讯录模板的使用方法1. 填写项目团队成员信息:根据项目团队的实际情况,逐一填写项目通讯录模板中的每一列信息,确保准确无误。

2. 维护更新通讯录信息:随着项目的进行,项目团队成员信息可能会发生变动,如有新成员加入或离开团队,或者联系方式发生变化,需要及时更新通讯录信息。

3. 分发通讯录:在项目启动阶段或有新成员加入时,将项目通讯录分发给所有项目团队成员,以便大家能够及时联系和沟通。

4. 保密项目通讯录:项目通讯录中包含敏感信息,如手机号码和电子邮箱地址等,因此需要妥善保管,不得随意外传,以确保信息安全。

五、项目通讯录模板的优势1. 统一管理联系信息:通过使用项目通讯录模板,可以将项目团队成员的联系信息集中管理,方便团队成员之间的沟通和协作。

2. 提高工作效率:项目通讯录模板可以帮助团队成员快速找到需要联系的人员的联系方式,节省了查找联系信息的时间,提高了工作效率。

3. 保障信息安全:项目通讯录模板中的敏感信息需要妥善保管,以免泄露给未授权的人员,确保信息安全。

小小通讯录-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课程设计通讯录管理系统

摘要随着社会的发展,人际关系变来越重要,为了保持良好的人际关系,必须常与亲戚朋友,同学同事保持联系,但有时候存在许多限制条件,因此我们需要为了快速查找联系人的信息,节省查找时间,开发通讯录管理系统。

通讯录管理系统是一个基于C/S模式的个人通讯录管理系统,它是将自己的联系人的具体信息集中处理,成为一个方便人们使用的小软件。

在开发过程中应用java,JDK,MYSQL,SWING等技术,由于开发工具与数据库之间的良好使用,可以为开发带来方便,使之成为可视性的系统。

通过采用相关技术,将系统设计的功能全部实现。

功能包括:用户登录,添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯录联系人,可以根据数据表的歌字段来查询你要找的联系人等功能。

关键字:C/S架构,联系信息,通讯录,数据库目录一、需求分析 (2)二、系统总体规划 (2)三、程序流程 (2)四、设计步骤 (5)1.数据库表的设计 (5)2.详细设计 (5)五、设计总结 (9)六、结束语 (10)六、参考文献 (11)七、程序清单 (12)1一需求分析通讯录在当今的日常生活工作中的应用是十分普及的,每个人都拥有大量的通讯录资料信息,当前大家一般都用手工来记录所有的通讯录信息。

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

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

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

有人利用Excel或Word编制通讯录,虽然数据比较全面,信息比较充分,可是查找及其不便,维护起来也麻烦,所以运用文件或数据库技术建立一个通讯录管资料理系统十分必要,使通讯录资料管理工作规范化,系统化,程序化,避免资料管理中的混乱。

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是由Sun公司于1995年5月推出的Java程序设计语言和Java平台的总称。

它具有简洁、安全、面向对象、动态、体系结构中立、可移植、分布式、平台无关性等多个优点,被广泛地运用到计算机、便携式计算机、电视、电话、手机和其他大量设备上。

Java 的前景被广泛地看好,并有许多相关机构和人员在解决其运行速度等瑕疵[1]。

二、主题部分一、Java简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。

用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。

从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet[2]。

(一)平台架构Java平台由Java虚拟机(Java Virtual Machine)和Java应用编程接口(Application Programming Interface、简称API)构成。

Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。

在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。

现在Java平台已经嵌入了几乎所有的操作系统。

这样Java程序可以只编译一次,就可以在各种系统中运行。

Java分为JavaSE,JavaEE,JavaME三个体系[3]。

Java SE允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序,它包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition (Java EE)提供基础。

Java EE帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序,它是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(SOA)和Web 2。

java课程教学设计(通讯录管理方案系统)

合肥学院计算机科学与技术系课程设计报告2013~2014 学年第二学期课程面向对象课程设计课程设计名称通讯录程序学生姓名XXX学号专业班级XXXXX指导教师 XXX20 年月目录一、设计题目 (1)二、设计要求 (1)三、总体设计 (1)3.1 系统功能框架 (1)3.2 系统功能说明 (3)四、详细设计 (3)1 .数据结构设计 (3)2 .系统模块设计 (10)五、运行结果 (13)一.设计题目随着社会的进步与发展,通讯越来越密切。

希望能通过对java 课程设计的学习和掌握来编写一个通讯录管理系统。

二.设计要求(1)只能使用Java 语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。

2)程序必须与数据库进行通信3)系统必须是图形用户界面的形式并连接数据库三. 总体设计3.1系统总体功能框架图3.2系统功能说明1)具有新用户注册功能。

2)具有注册用户登录功能。

3)具有数据的录入功能。

4)具有数据查询功能,可以实现查询全部信息和按条件执行查询5)具有按条件删除数据功能。

6)具有统计功能4. 详细设计4.1 数据结构设计( java 程序设计)// 登录系统package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private static final long serialVersionUID = 1L;public String username;public String password;private String message;@Overridepublic String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0){ result.put("success", false); result.put("msg","ername.empty");} else if(password == null || password.trim().length() == 0){ result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService();list = ls.checkLogin(username);}if(list == null) {result.put("success", false); result.put("msg","er.not.exist");} else if(list.get(0).getPassword().equals(password)){ result.put("success", true); result.put("msg", "login.success");} else {result.put("success", false); result.put("msg","error.password.wrong");}if((Boolean) result.get("success")) {message = (String) result.get("msg"); return "success";} else {message = (String) result.get("msg"); return "error";}}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public void setUsername(String username) {ername = username;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public String getPassword() {return password;}}// 增加记录package com.ibm.etp.addressbook.action;import java.util.HashMap;import java.util.List;import er;import com.ibm.etp.addressbook.service.LoginService;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport { private static final long serialVersionUID = 1L; public String username;public String password;private String message;public String execute() throws Exception {HashMap<Object, Object> result = new HashMap<Object, Object>();List<User> list = null;System.out.println(username);if(username == null || username.trim().length() == 0){ result.put("success", false);result.put("msg", "ername.empty");} else if(password == null || password.trim().length() == 0){ result.put("success", false);result.put("msg", "login.password.empty");} else {LoginService ls = new LoginService(); list = ls.checkLogin(username);}if(list == null) { result.put("success", false); result.put("msg", "er.not.exist");} else if(list.get(0).getPassword().equals(password)){ result.put("success", true); result.put("msg", "login.success");} else { result.put("success", false); result.put("msg","error.password.wrong");}if((Boolean) result.get("success")) { message = (String)result.get("msg"); return "success";} else {message = (String) result.get("msg"); return "error";}}public String getMessage() {return message;}public void setMessage(Stringmessage) { this.message = message;public void setUsername(String username) { ername = username;}public void setPassword(String password) { this.password = password;}public String getUsername() { return username;}public String getPassword() { return password;}}// 删除记录package com.ibm.etp.addressbook.action;import java.util.ArrayList;import com.ibm.etp.addressbook.pojo.Record; importcom.ibm.etp.addressbook.service.DeleService;import com.opensymphony.xwork2.ActionSupport; public class DeleAction extends ActionSupport {private int id[];public String message; private boolean success=true;public boolean isSuccess() { return success;}private ArrayList<Record> list= new ArrayList<Record>(); publicArrayList<Record> getList() {return list;}public int getId(int i){ return id[i];}public int[] getId() { return id;}public void setId(int[] id) { this.id = id;public String getMessage() {return message;}public void setMessage(Stringmessage) { this.message = message;}public String execute() throws Exception { DeleService ds=new DeleService(); list=ds.removeRecord(this);try {success=true;return SUCCESS;}catch (Exception e) { success=false; return ERROR;}}}// 修改记录package com.ibm.etp.addressbook.action;import com.ibm.etp.addressbook.service.UpdateService;import com.opensymphony.xwork2.ActionSupport;public class UpdateAction extends ActionSupport { private int id;private String name;private String phone;private String email;private String birthday;private String sex;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 getPhone() { return phone;}public void setPhone(Stringphone) { this.phone = phone;}public StringgetEmail() { returnemail;}public void setEmail(Stringemail) { this.email = email;} public String getBirthday() { return birthday;}public void setBirthday(Stringbirthday) { this.birthday =birthday;} public String getSex() { return sex;}public void setSex(Stringsex) { this.sex = sex;}public String execute() throwsException { UpdateService us=newUpdateService();if(us.setRecord(this)!=null) returnSUCCESS;else{ return ERROR;}}}// 查找记录行package com.ibm.etp.addressbook.action; import java.sql.SQLException;import java.util.List;import com.ibm.etp.addressbook.pojo.Record;import com.ibm.etp.addressbook.service.FindService; importcom.opensymphony.xwork2.ActionSupport; public class FindAction extends ActionSupport { private String field;private String input;private int size;private String sort;private List<Record> list ;private boolean success=true;public boolean isSuccess() { return success;}public List<Record> getList() {return list;}public void setList(List<Record> list) {this.list = list;}public String getField() {return field;}public void setField(Stringfield) { this.field = field;}public String getInput() {return input;}public void setInput(Stringinput) { this.input = input;}public int getSize() {return size;}public void setSize(intsize) { this.size = size;}public String getSort() {return sort;public void setSort(String sort) {this.sort = sort;}public String execute() throws Exception {FindAction fb = new FindAction(); fb.setField(field);fb.setInput(input);}fb.setSize(size);fb.setSort(sort);FindService fs = new FindService(); try { list = fs.find(fb);success=true; return SUCCESS;} catch (SQLException e) { e.printStackTrace(); success=false; return ERROR;4.2系统模块设计图1-1 登陆功能展示图LoginAction 类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
try{ System.out.println("请你按键选择!"); int s = new Scanner(System.in).nextInt(); switch(s){ case 1:{
caseone(); break; } case 2:{ casetwo(); break; } case 3: { casethree(); break; } case 4: { casefour(); break;
System.out.println("请输入要查询的联系人名字:"); System.out.println(num); name = in.readLine();
for(int i=0;i<num;i++) {
if(name.equals(c[i].Name())) {
System.out.println("查询成功!"); System.out.println("你要查找的联系人信息为:"); System.out.println("ID:"+c[i].Id()+"\n 名 字 :"+c[i].Name()+"\n 电 话:"+c[i].Phone()+"\nQQ:"+c[i].QQ()+"\n 性别:"+c[i].Sex()+"\n 地址:"+c[i].Address()); break; } if(i==num) System.out.println("查找失败!"); }
}
}
class Read{ private String id; private String name; private String phone; private String qq; private String sex; private String address;
public String Name(){ return name;
else System.out.println("添加失败!");
}
public static void casetwo() throws IOException {
System.out.println("请输入要删除的名字:"); name = in.readLine(); for(int i=0;i<num;i++) {
while(true){ System.out.println("*************通讯录***************"); System.out.println("1.添加联系人"); System.out.println("2.修改联系人"); System.out.println("3.删除联系人"); System.out.println("4.查询联系人"); System.out.println("5.退出");
c[i] = new Read(id,name,phone,qq,sex,address); break; } if(i==num) System.out.println("修改失败!"); } }
public static void casefour() throws IOException {
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); static String id="",name="", address="", phone="", sex="", qq="", yn=""; static Read[] c = new Read[10]; static int num = 0; public static void main(String[] args) {
if(name.equals(c[i].Id())) {
System.out.println("删除成功!"); for(;i<num-1;i++)
c[i]=c[i+1]; c[num] =null; break; } if(i==num) System.out.println("删除失败!"); } }
System.out.println("请从新输入信息:"); System.out.println("请输入 ID"); id = in.readLine(); System.out.println("请输入名字"); name = in.readLine(); System.out.println("请输入电话"); phone = in.readLine(); System.out.println("请输入 QQ"); qq = in.readLine(); System.out.println("请输入性别"); sex = in.readLine(); System.out.println("请输入地址"); address = in.readLine();
} case 5:
System.exit(0); default:
System.out.println("输入错误,请从新输入");
} } catch(Exception e){
System.out.println("你必须输入数字类型!"); }
}
} public static void caseone() throws IOException {
package shizi;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner;
public class Tongxunlu {
} }
System.out.println("请输入性别"); sex = in.readLine(); if(sex.equals("男")||sex.equals("女"))
break; System.out.println("性别输入错误,重新输入"); } System.out.println("请输入地址"); address = in.readLine(); System.out.println("输入完成,是否添加(Y/N)"); yn = in.readLine(); if(yn.equals("Y") || yn.equals("y")) { c[num] = new Read(id,name,phone,qq,sex,address); num++; System.out.println("添加成功!"); }
}
public Read(String id,String name,String phone,String qq,String sex,String address){ this.id = id; = name; this.phone = phone; this.qq = qq; this.sex =sex; this.address = address;
public static void casethree() throws IOException {
System.out.println("请输入要修改的名字:"); name = in.readLine(); for(int i=0;i<num;i++) {
if(name.equals(c[i].Id())) {
System.out.println("请输入 ID"); id = in.readLine(); System.out.println("请输入名字"); name = in.readLine(); System.out.println("请输入电话"); phone = in.readLine(); System.out.println("请输入 QQ"); qq = in.readLine(); while(true) {
}
public String Id(){ return id;
}
public String Phone(){ return phone;
}
public String QQ(){ return qq;
}
public String Sex(){ return sex;
}
public String Address(){ return address;
相关文档
最新文档