本文实例为大家分享了Java实现通讯录管理系统的具体代码,供大家参考,具体内容如下
题目:
1、完成一个通讯录,需求:
(1)添加联系人(联系人:编号,姓名,手机号,QQ,邮箱地址)添加时需要检查手机号和邮箱地址格式是否正确,若不正确,不允许添加
(2)联系人查询(输入姓名或电话查询)
(3)显示联系人列表
(4)根据编号删除指定编号的联系人
代码分析:
之前写过类似的管理系统,不过是使用数组进行数据存储,这次的通讯录管理系统通过动态数组
ArrayList进行数据存储。其中代码实现的原理和之前所写相似。在此不再赘述。
判断手机号邮箱地址格式是否格式正确使用了正则表达式进行判断,如果输入错误则输出提示语句,并重新输入正确格式,递归实现。
其中修改手机号的方法和删除用户类似,顺带写了一下,没有进行实现,感兴趣的朋友可以自己进行实现测试一下。
代码实现:
用户类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
package com.softeem.j2106.work;
/** * @author admin * 2021/7/26 */ public class User { private int no; private String name; private String phone; private String QQ; private String email;
public User() { }
public User( int no, String name, String phone, String QQ, String email) { this .no = no; this .name = name; this .phone = phone; this .QQ = QQ; this .email = email; }
public int getNo() { return no; }
public void setNo( int no) { this .no = no; }
public String getName() { return name; }
public void setName(String name) { this .name = name; }
public String getPhone() { return phone; }
public void setPhone(String phone) { this .phone = phone; }
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; }
@Override public String toString() { return "User{" + "no=" + no + ", name='" + name + '\ '' + ", phone='" + phone + '\ '' + ", QQ='" + QQ + '\ '' + ", email='" + email + '\ '' + '}' ; } } |
用户管理类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
public class UserMange { static ArrayList<User> s = new ArrayList<>();
public boolean addUser(User user){ return s.add(user); }
public ArrayList showInfo(){ return s; } public User searchByName(String name){ for (User user : s) { if (Objects.equals(name,user.getName()) ||Objects.equals(name,user.getPhone())){ return user; } } return null ; }
public boolean updatePhone( int no,String phone){ User user = null ; for (User u:s) { if (no == u.getNo()) { u.setPhone(phone); break ; } } if (user == null ) { System.out.println( "该用户不存在" ); return false ; } System.out.println( "修改成功!" ); return true ; }
public boolean delUser( int no){ User user = null ; for (User u:s) { if (no == u.getNo()) { user = u; break ; } } if (user == null ) { System.out.println( "该用户不存在" ); return false ; } return s.remove(user); } } |
测试类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
public class Test2 {
static UserMange user = new UserMange(); static Scanner sc = new Scanner(System.in);
public static void start(){ System.out.println( "=======SOFTEEM通讯录管理系统=====" ); System.out.println( "【1】添加联系人" ); System.out.println( "【2】联系人查询" ); System.out.println( "【3】显示联系人列表" ); System.out.println( "【4】根据编号删除指定编号的联系人" ); System.out.println( "=============================" ); int i = sc.nextInt(); switch (i){ case 1 : add(); start(); break ; case 2 : System.out.println( "【1】通过联系人姓名查询/【2】通过联系人电话查询" ); int a = sc.nextInt(); findbyName(a); start(); break ; case 3 : show(); start(); break ; case 4 : del(); start(); break ; case 0 : System.out.println( "谢谢使用,再见!" ); System.exit( 0 ); break ; default : System.out.println( "请输入正确的指令!" ); start(); break ; } } public static void add(){ System.out.println( "请输入联系人编号:" ); int a = sc.nextInt(); System.out.println( "请输入联系人姓名:" ); String b = sc.next(); System.out.println( "请输入联系人手机号:" ); String c = sc.next(); judgePhone(c); System.out.println( "请输入联系人QQ:" ); String d = sc.next(); System.out.println( "请输入联系人邮箱地址:" ); String e = sc.next(); judgeEmail(e); User x = new User(a,b,c,d,e); if (user.addUser(x)){ System.out.println( "添加成功!" ); } }
public static void judgePhone(String phone){
if (phone.matches( "1[34589][0-9]{9}" )){
} else { System.out.println( "手机号输入有误,请重新输入" ); String v = sc.next(); judgePhone(v); } }
public static void judgeEmail(String email){
if (email.matches( "[A-Za-z0-9]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)" )){
} else { System.out.println( "邮箱格式输入有误,请重新输入" ); String v = sc.next(); judgeEmail(v); } }
public static void findbyName( int a){ if (a== 1 ){ System.out.println( "请输入联系人姓名" ); } else { System.out.println( "请输入联系人电话" ); } String name = sc.next(); User user = Test2.user.searchByName(name); System.out.println(user); }
public static void show(){ ArrayList list = user.showInfo(); for (Object o : list) { System.out.println(o); } }
public static void del(){ System.out.println( "请输入编号" ); int no = sc.nextInt(); if (user.delUser(no)){ System.out.println( "删除成功" ); } }
public static void main(String[] args) { start(); } } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
原文链接:https://blog.csdn.net/qq_44873394/article/details/119152704