Java实现简单通讯录管理系统

 更新时间:2021年07月29日 17:15:27   作者:菜鸟的第一天  
这篇文章主要为大家详细介绍了Java实现简单通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java实现通讯录管理系统的具体代码,供大家参考,具体内容如下

题目:

1、完成一个通讯录,需求:

(1)添加联系人(联系人:编号,姓名,手机号,QQ,邮箱地址)添加时需要检查手机号和邮箱地址格式是否正确,若不正确,不允许添加

(2)联系人查询(输入姓名或电话查询)

(3)显示联系人列表

(4)根据编号删除指定编号的联系人

代码分析:

之前写过类似的管理系统,不过是使用数组进行数据存储,这次的通讯录管理系统通过动态数组

ArrayList进行数据存储。其中代码实现的原理和之前所写相似。在此不再赘述。

判断手机号邮箱地址格式是否格式正确使用了正则表达式进行判断,如果输入错误则输出提示语句,并重新输入正确格式,递归实现。

其中修改手机号的方法和删除用户类似,顺带写了一下,没有进行实现,感兴趣的朋友可以自己进行实现测试一下。

代码实现:

用户类:

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 + '\'' +
                '}';
    }
}

用户管理类:

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);
    }
}

测试类:

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();
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java 正则,object中两个方法的使用(详解)

    java 正则,object中两个方法的使用(详解)

    下面小编就为大家带来一篇java 正则,object中两个方法的使用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 利用gson将map转为json示例

    利用gson将map转为json示例

    这篇文章主要介绍了利用gson将map转为json示例,需要的朋友可以参考下
    2014-05-05
  • SpringCloud基于Feign的可编程式接口调用实现

    SpringCloud基于Feign的可编程式接口调用实现

    本文主要介绍了SpringCloud基于Feign的可编程式接口调用实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • package打包一个springcloud项目的某个微服务报错问题

    package打包一个springcloud项目的某个微服务报错问题

    这篇文章主要介绍了package打包一个springcloud项目的某个微服务报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java定义泛型方法实例分析

    Java定义泛型方法实例分析

    这篇文章主要介绍了Java定义泛型方法,结合实例形式分析了java定义泛型的相关操作技巧与注意事项,需要的朋友可以参考下
    2019-07-07
  • Java中的"找不到符号"错误解决办法

    Java中的"找不到符号"错误解决办法

    开发中遇到一个问题,当我用idea开发工具将新的项目代码从GitLab上面拉取下来,所有的Maven依赖也导入成功,然后启动项目,结果报错:java:找不到符号,这篇文章主要给大家介绍了关于Java中"找不到符号"错误的解决办法,需要的朋友可以参考下
    2023-10-10
  • 浅析Java Mail无法解析带分号的收件人列表的问题

    浅析Java Mail无法解析带分号的收件人列表的问题

    JAVA MAIL严格按照RFC 822规范进行操作,没有对分号做处理。大多数邮件服务器都是严格遵循RFC 822规范的
    2013-08-08
  • Java中字符串与日期类型的相互转换示例代码

    Java中字符串与日期类型的相互转换示例代码

    这篇文章主要给大家介绍了关于Java中字符串与日期类型的相互转换的相关资料,将Java(或任何编程语言)中的字符串转换为日期是一项基本技能,对于在项目上进行工作很有用需要的朋友可以参考下
    2023-08-08
  • Java中的zookeeper常用命令详解

    Java中的zookeeper常用命令详解

    这篇文章主要介绍了Java中的zookeeper常用命令,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Intellij IDEA 配置Subversion插件实现步骤详解

    Intellij IDEA 配置Subversion插件实现步骤详解

    这篇文章主要介绍了Intellij IDEA 配置Subversion插件实现步骤详解的相关资料,需要的朋友可以参考下
    2017-05-05

最新评论