怎么用Java实现联系人管理系统
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,本文小编为大家详细介绍"怎么用Java实现联系人管理系统",内容详细,步骤清晰,细节处理妥当,希望这篇"怎么用Java实现联系人管理系统"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
千家信息网最后更新 2025年02月16日怎么用Java实现联系人管理系统
本文小编为大家详细介绍"怎么用Java实现联系人管理系统",内容详细,步骤清晰,细节处理妥当,希望这篇"怎么用Java实现联系人管理系统"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
基于eclipse做的一个简单的联系人管理系统
对于联系人姓名首字母进行了一个排序,对于存入信息时手机号码与电子邮箱做了一个判断,只有在输入正确格式的手机号和电子邮箱才能成功存入数据
联系人基本属性类
此类包含联系人编号、姓名、手机号、QQ、电子邮箱等信息
/** 编号*/private int sno;/** 姓名*/private String name;/** 手机号*/private String phone;/** QQ*/private String qq;/** 电子邮箱*/private String email;
快捷生成相应的方法与构造器
public User(int sno, String name, String phone, String qq, String email) { 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 setName(String name) { this.name = name; } 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; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } @Override public String toString() { return sno + "\t" + name + "\t" + phone + "\t" + qq + "\t" + email; }
由此完成联系人属性定义,再实现对联系人进行管理的功能
功能类
功能我在功能类与测试类中共同实现,因在测试类中反复调用方法
首先定义一个ArrayList数组来对信息进行存储
static ArrayListlist = new ArrayList<>();
添加联系人方法
/** 1-添加联系人 */public void add(User u) { list.add(u);}
联系人查询功能(根据不同信息进行查询:编号、姓名、手机号)
/** 2-联系人查询(根据编号查询) */public User findBySno(int sno) { User us = null; for (User u : list) { if (u.getSno() == sno) { us = u; break; } } return us; } /** 3-联系人查询(根据姓名查询) */ public User findByName(String name) { User us = null; for (User u : list) { if (u.getName().equals(name)) { us = u; break; } } return us; } /** 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 ArrayListfindAll() { 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手机号\t\tQQ\t\t邮箱"); 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手机号\t\tQQ\t\t邮箱"); 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手机号\t\tQQ\t\t邮箱"); 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手机号\t\tQQ\t\t邮箱"); 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(); }
功能实现里没有什么技术难点,只要细心一点将对象方法调用和一些简单的判断语句使用灵活就能轻松的完成此系统。
读到这里,这篇"怎么用Java实现联系人管理系统"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
联系人
联系
输入
姓名
手机
功能
手机号
查询
邮箱
信息
系统
管理
管理系统
用户
方法
指令
格式
电子
电子邮箱
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库对象的大致作用
计算机三级网络技术最新题库
攀枝花软件开发厂家
权力与纷争怎么切换服务器
戴尔服务器辽宁总代理是谁家
电信采购服务器芯片
网络安全保卫大队怎么改革
软件开发每天干什么
服务器可视化管理平台
哔哩漫游解析中服务器发生错误
上海师范大学网络安全
北京的兼职软件开发
乌托邦网络安全知识
计算机网络技术职业目标与选择
csgo官匹任意服务器连接失败
部队维护网络安全的重要性
乐主手机显示服务器
软件开发所涉及的文档
南京电商软件开发怎么样
网络安全常态化工作
网络安全与高校学生
泰安平台软件开发解决方案
数据库表关系用什么软件画
服务器集群管理 面板
6.72折腾服务器V10魔改版
表表导数据库
ca服务器
文明上网网络安全手抄报小学生
重庆net 软件开发公司
数据库培训基地