java人员管理系统,java个人通讯录管理
基于爪哇的联系人管理系统,供大家参考,具体内容如下
基于eclipse做的一个简单的联系人管理系统
对于联系人姓名首字母进行了一个排序,对于存入信息时手机号码与电子邮箱做了一个判断,只有在输入正确格式的手机号和电子邮箱才能成功存入数据
联系人基本属性类
此类包含联系人编号、姓名、手机号、QQ、电子邮箱等信息
/** 编号*/private int SnO;/** 姓名*/私有字符串名称;/** 手机号*/私人字符串电话;/* * QQ */私串QQ;/** 电子邮箱*/私有字符串电子邮件;快捷生成相应的方法与构造器
公共用户(int sno,字符串名字,字符串电话,字符串qq,字符串邮箱){ super();this . SnO=SnO this . name=name this . phone=phone this . QQ=QQ this . email=email } public int getSno(){ return SnO;} public void setSno(int SnO){ this。SnO=SnO} public String getName(){ return name;} public void set name(String name){ this。name=名称;}公共字符串getQq(){ return QQ;} public void setQq(String QQ){ this。QQ=QQ}公共字符串getEmail() {返回邮件;} public void set email(String email){ this。email=email} public String get phone(){ return phone;}公共void set phone(String phone){ this。电话=电话;} @将public String重写为String(){ return SnO t name t phone t QQ t email;}由此完成联系人属性定义,再实现对联系人进行管理的功能
功能类
功能我在功能类与测试类中共同实现,因在测试类中反复调用方法首先定义一个数组列表数组来对信息进行存储
静态ArrayListUser list=new ArrayList();添加联系人方法
/** 1-添加联系人*/public void add(User u){ list。添加(u);}联系人查询功能(根据不同信息进行查询:编号、姓名、手机号)
/** 2-联系人查询(根据编号查询)*/公共用户findBySno(int SnO){ User us=null;对于(用户u :列表){ if(u . getsno()==SnO){ us=u;打破;} }还我们;} /** 3-联系人查询(根据姓名查询)*/公共用户findByName(字符串名){ User us=nullfor(用户u :列表){ if (u.getName().equals(name)){ us=u;打破;} }还我们;} /** 4-联系人查询(
根据手机号查询) */ public User findByPhone(String phone) { User us = null; for (User u : list) { if (u.getPhone().equals(phone)) { us = u; break; } } return us; }联系人列表
/** 5-联系人列表 */public ArrayList<User> findAll() { return list;}
删除联系人
/** 6-删除联系人 */ public boolean delete(int sno) { User user = findBySno(sno); if (user != null) { return list.remove(user); } return false;}
此类完成
测试实现类
此类调用功能类中方法实现功能的运用首先创建对象与控制台输入功能
private UserManage um = new UserManage();private Scanner sc = new Scanner(System.in);
创建窗口指令界面提供用户提示消息
/** 输入窗口的指令界面 */public void menu() { msg("==================================="); msg("======SOFTEEM联系人管理系统============"); msg("======【1】联系人添加=================="); msg("======【2】根据编号查看联系人信息=========="); msg("======【3】根据姓名查看联系人信息=========="); msg("======【4】根据手机号查看联系人信息========="); msg("======【5】查看所有联系人==============="); msg("======【6】根据标号删除联系人============"); msg("======【0】退出系统==================="); msg("请输入操作指令: "); start(); }
按照提示消息来使用功能,在此方法中调用各个功能
/** 程序按键入口 */private void start() { sc = new Scanner(System.in); int i = sc.nextInt(); switch (i) { case 1: add(); break; case 2: queryById(); break; case 3: queryByname(); break; case 4: queryByPhone(); break; case 5: list(); break; case 6: delete(); break; case 0: exit(); break; default: msg("请输入正确的操作指令!!!"); break; } menu(); }
联系人的增删改查功能,另外添加了对联系人姓名首字母进行排序的功能
/** 1-用户添加的客户端实现 */private void add() { String regex = "^1[13456789]\d{9}$"; String email="\w+@\w+\.\w+"; msg("请输入用户信息:((按以下格式:编号/姓名/手机号/QQ/邮箱))"); sc = new Scanner(System.in); String s = sc.nextLine(); // 根据"/"截取用户信息 String[] info = s.split("/"); if (um.findBySno(Integer.parseInt(info[0])) != null) { msg("该ID用户已存在,请重新输入!"); add(); return; } else { User u = new User(Integer.parseInt(info[0]), info[1], info[2], info[3], info[4]); if (info[2].matches(regex)) { }else{ msg("格式错误,请输入正确的手机号!"); add(); } if (info[4].matches(email)) { }else{ msg("格式错误,请输入正确的邮箱!"); add(); } um.add(u); msg("添加成功!"); } } /** 2-根据编号查询联系人 */ private void queryById() { sc = new Scanner(System.in); msg("请输入联系人编号:"); int sno = sc.nextInt(); User u = um.findBySno(sno); if (u == null) { msg(sno + "号不存在,请重新输入!"); queryById(); return; } msg("编号t姓名t手机号ttQQtt邮箱"); msg(u); } /** 3-根据姓名查询联系人 */ private void queryByname() { sc = new Scanner(System.in); msg("请输入联系人姓名:"); String name = sc.next(); User u = um.findByName(name); if (u == null) { msg(name + "不存在,请重新输入"); queryByname(); return; } msg("编号t姓名t手机号ttQQtt邮箱"); msg(u); } /** 4-根据手机号查询联系人*/ private void queryByPhone() { sc = new Scanner(System.in); msg("请输入联系人手机号:"); String phone = sc.next(); User u = um.findByPhone(phone); if (u == null) { msg(phone + "不存在,请重新输入"); queryByPhone(); return; } msg("编号t姓名t手机号ttQQtt邮箱"); msg(u); } /** 5-显示所有联系人(按名字首拼音排序) */ private void list() { (um.findAll()).sort((a, b) -> { //分别获取要比较的两个联系人的的姓名 String name1 = a.getName(); String name2 = b.getName(); //声明变量存储转换之后的汉语拼音 String p1 = ""; String p2 = ""; //将汉字转拼音 for (int i = 0; i < name1.length(); i++) { p1 += PinyinHelper.toHanyuPinyinStringArray(name1.charAt(i))[0]; } for (int i = 0; i < name2.length(); i++) { p2 += PinyinHelper.toHanyuPinyinStringArray(name2.charAt(i))[0]; } return p1.compareTo(p2); }); msg("编号t姓名t手机号ttQQtt邮箱"); for (User u : um.findAll()) { msg(u); } } /** 6-根据编号删除联系人 */ private void delete() { sc = new Scanner(System.in); msg("请输入用户编号:"); int sno = sc.nextInt(); if (um.delete(sno)) { msg("删除成功!"); } else { msg("删除失败!"); } } public void msg(Object obj) { System.out.println(obj); }
程序的退出功能
/** 0-体统退出 */private void exit() { sc = new Scanner(System.in); msg("是否确定退出?(Y/N)"); String op = sc.next(); if (op.equalsIgnoreCase("Y")) { msg("谢谢使用,再见!"); System.exit(1); } }
联系人管理系统的程序入口
public static void main(String[] args) { TestUser tu = new TestUser(); tu.menu(); }
功能实现里没有什么技术难点,只要细心一点将对象方法调用和一些简单的判断语句使用灵活就能轻松的完成此系统。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。