个人通讯录管理系统,java源代码
- 格式:doc
- 大小:39.50 KB
- 文档页数:4
《网络编程(JSP)》课程大作业报告项目名称:基于JSP技术设计与实现的通讯录管理系统专业名称:班级名称:小组成员:完成时间:2019年6月2018-2019学年2学期目录1.概述 (3)1.1项目背景 (3)1.2研究的主要内容 (3)1.3项目分工(说明各小组成员在项目中承担的工作) (3)2.相关技术 (3)3.系统分析 (4)4.系统设计 (4)4.1功能模块的流程说明 (4)4.2数据库设计 (5)5.系统实现 (6)5.1系统注册页面设计 (7)5.2系统登录页面设计 (7)5.3主页面设计 (7)5.4添加联系人页面设计 (7)5.5联系人管理界面设计 (7)5.6修改联系人界面设计 (7)5.7退出系统 (7)6.总结 (8)1.概述1.1 项目背景JSP是微软公司的重要产品之一, 是一种功能强大行之有效的可视化编程工,使用户可以方便的开发自己想实现的功能,JSP的功能特点。
JSP技术使用JA V A编程语言编写类XML 的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
本通讯录信息管理系统用计算机正是基于jsp技术的一种应用程序,它方便了用户对朋友们信息的储存和快速查阅的功能,大大减少了查找过程时间,在轻松快捷中沟通你我。
1.2 研究的主要内容(1)登录与注册系统的登录和注册功能。
(2)基本信息管理模块系统中对基本信息的管理包括:个人的姓名、性别、电话号码等。
(3)系统操作添加、修改、删除、查询、修改密码、退出系统。
1.3 项目分工:1.联系人信息修改模块;2.联系人信息删除模块;3.课程大作业报告:1.联系人信息添加模块;2.页面设计:1.密码修改模块;2.课程大作业报告:1.注册模块;2.登录模块2.相关技术①JSP以及Servlet的基本知识;②原生JDBC实现数据库的增删改查;③HTML基本知识以及H5最新属性的使用;④Foundation框架的使用;⑤TOMCAT 目录结构;⑥通过对数据库的基本操作实现用户注册、登录模块、显示模块、查询模块、添加模块和删除模块;⑦ 利用JavaBean技术实现数据封装。
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类:表示层的用户界面,处理用户输入输出和展示联系人信息。
摘要随着社会的发展,人际关系变来越重要,为了保持良好的人际关系,必须常与亲戚朋友,同学同事保持联系,但有时候存在许多限制条件,因此我们需要为了快速查找联系人的信息,节省查找时间,开发通讯录管理系统。
通讯录管理系统是一个基于C/S模式的个人通讯录管理系统,它是将自己的联系人的具体信息集中处理,成为一个方便人们使用的小软件。
在开发过程中应用java,JDK,MYSQL,SWING等技术,由于开发工具与数据库之间的良好使用,可以为开发带来方便,使之成为可视性的系统。
通过采用相关技术,将系统设计的功能全部实现。
功能包括:用户登录,添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯录联系人,可以根据数据表的歌字段来查询你要找的联系人等功能。
关键字:C/S架构,联系信息,通讯录,数据库目录一、需求分析 (2)二、系统总体规划 (2)三、程序流程 (2)四、设计步骤 (5)1.数据库表的设计 (5)2.详细设计 (5)五、设计总结 (9)六、结束语 (10)六、参考文献 (11)七、程序清单 (12)1一需求分析通讯录在当今的日常生活工作中的应用是十分普及的,每个人都拥有大量的通讯录资料信息,当前大家一般都用手工来记录所有的通讯录信息。
但随着时代的发展,人们的联系方式及信息变得复杂多样,通讯录信息大量增加,导致管理这些信息资料就成了问题。
直接操作来查找,添加,修改,删除这些信息,由于数据多,工作量十分巨大,查找,编辑都很困难,而且极易出错,容易造成资料的混乱或丢失。
在各种手机,上午通内设的电话簿尽管携带方便却又存在“记录量少,界面小,浏览不方便,记录信息不全面”的缺点。
有人利用Excel或Word编制通讯录,虽然数据比较全面,信息比较充分,可是查找及其不便,维护起来也麻烦,所以运用文件或数据库技术建立一个通讯录管资料理系统十分必要,使通讯录资料管理工作规范化,系统化,程序化,避免资料管理中的混乱。
数据结构课程设计通讯录管理系统一、系统需求分析通讯录管理系统的主要目标是提供一个方便、高效的方式来管理联系人信息。
具体需求包括:1、能够添加联系人,包括姓名、电话号码、电子邮件、地址等基本信息。
2、可以对联系人信息进行修改和删除操作。
3、支持按照姓名、电话号码等关键字进行快速查找。
4、能够以列表形式展示所有联系人的信息。
二、数据结构选择为了实现上述功能,我们需要选择合适的数据结构来存储联系人信息。
考虑到联系人信息的多样性和动态性,链表是一个不错的选择。
链表可以方便地进行插入、删除和修改操作,并且能够灵活地调整存储空间。
另外,为了提高查找效率,我们可以结合使用哈希表。
通过将联系人的关键信息(如姓名或电话号码)进行哈希运算,快速定位到对应的联系人节点。
三、系统功能实现1、添加联系人功能当用户选择添加联系人时,系统会提示用户输入联系人的各项信息。
这些信息被封装成一个结构体,并通过链表的插入操作添加到链表中。
同时,将关键信息映射到哈希表中,以便后续快速查找。
2、修改联系人功能用户输入要修改的联系人的关键字,系统通过哈希表快速找到对应的联系人节点。
然后,提示用户输入修改后的信息,并更新链表和哈希表中的数据。
3、删除联系人功能与修改功能类似,通过关键字找到联系人节点,从链表和哈希表中删除相应的节点和信息。
4、查找联系人功能用户输入查找关键字,系统通过哈希表进行快速定位,如果找到匹配的联系人,则显示其详细信息。
5、展示所有联系人功能遍历链表,将所有联系人的信息以列表形式输出到屏幕上。
四、系统界面设计为了提高用户体验,系统设计了简洁直观的界面。
主界面提供了添加、修改、删除、查找和展示所有联系人等功能选项。
用户通过选择相应的选项,进入对应的操作流程。
五、代码实现示例以下是部分关键代码的示例:```c//联系人结构体typedef struct Contact {char name50;char phoneNumber20;char email50;char address100;struct Contact next;} Contact;//哈希表节点结构体typedef struct HashNode {char key50;Contact contact;struct HashNode next;} HashNode;//链表插入联系人void insertContact(Contact head, Contact newContact) {newContact>next = head;head = newContact;}//哈希函数unsigned int hashFunction(const char key) {unsigned int hash = 0;while (key) {hash =(hash << 5) + key++;}return hash % HASH_TABLE_SIZE;}//查找联系人Contact findContact(Contact head, const char key, HashNode hashTable) {unsigned int hashValue = hashFunction(key);HashNode node = hashTablehashValue;while (node) {if (strcmp(node>key, key) == 0) {return node>contact;}node = node>next;}Contact current = head;while (current) {if (strcmp(current>name, key) == 0 ||strcmp(current>phoneNumber, key) == 0) {//更新哈希表HashNode newNode =(HashNode )malloc(sizeof(HashNode));strcpy(newNode>key, key);newNode>contact = current;newNode>next = hashTablehashValue;hashTablehashValue = newNode;return current;}current = current>next;}return NULL;}```六、系统测试在完成系统的开发后,需要进行全面的测试以确保系统的稳定性和可靠性。
通讯录管理系统一、引言随着科技的不断发展,电子设备的运用愈发广泛,通讯工具也从最早的电话、传真、邮件演变到如今的移动电话、微信等APP软件。
同时,人们通讯的宽带和速度也得到了很大的进步,这里提到的速度指的是通讯的速度和传输的速度。
在日常生活中,人们需要不断联系和交流,而一个完善的通讯管理系统能够辅助人们做到这一点。
二、通讯录管理系统的概述通讯录管理系统是一个集成化的系统,它包括通讯录的建立、搜索、编辑、删除等基本功能,同时也有通讯录的导入、导出、备份、恢复等高级功能。
对于个人而言,通讯录管理系统是一个非常有用的工具,可以让我们对日常生活中的联系人实现精细化管理。
对于企业和组织而言,通讯录管理系统则是一个不可或缺的管理工具,它可以让企业和组织对内外联系人进行统一管理,提高工作效率,实现快速响应与灵活沟通。
三、通讯录管理系统的需求分析1. 用户管理需求通讯录管理系统的用户一般包括个人、企业和组织等,他们的管理需求有所不同,例如个人通讯录管理系统需要支持用户自主导入、导出、备份、恢复,企业通讯录管理系统需要支持管理员进行用户管理和权限控制等。
2. 数据整合需求通讯录管理系统需要支持将人员信息从不同的来源整合到一个集中的库中,这可以通过数据导入、数据同步、数据抓取等方式实现。
3. 可扩展性和可定制化需求通讯录管理系统应该具有良好的可扩展性和可定制化的能力,以满足企业和组织不同的需求。
4. 安全性需求通讯录管理系统需要具有安全性,防止数据泄漏和恶意攻击等安全问题,同时还要实现数据备份、数据恢复等功能。
五、通讯录管理系统的设计1. 系统结构设计通讯录管理系统应该是一个分层结构的系统,分为表示层、业务层、数据访问层和数据存储层四个层级。
其中,表示层为用户提供了用户界面,业务层处理用户请求,数据访问层为业务层提供数据访问接口,数据存储层则负责数据存储管理。
2. 系统模块设计通讯录管理系统主要包括三个模块:用户管理模块、通讯录管理模块和数据备份恢复模块。
毕业论文文献综述信息与计算科学基于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。
合肥学院计算机科学与技术系课程设计报告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 类,封装的信息由密码和账户名,以及登录失败时抛出的异常方法。
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("您输入不合法,请重新选择!");}}}}。