我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java如何实现通讯录管理系统项目

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java如何实现通讯录管理系统项目

这篇文章主要介绍了Java如何实现通讯录管理系统项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、前言

我们学了这么久的知识了,光学知识不会用是一件很悲伤的事情,所以我们应学完

部分练一些项目或题,来巩固我们学习的知识,激发我们持续学习的动力。

二、创建通讯的功能

  • 增加联系人信息

  • 删除联系人信息

  • 修改联系人信息

  • 查看所有联系人信息

  • 退出通信录管理系统

首先定义一个People类,提供相应的get、set方法

(在idea中有快捷键Alt+insert生成get、set方法,和构造方法)

public class People {    private String sid;    private String name;    private String age;    private String address;    private String num;    public People(){}    public People(String sid, String name, String age, String address, String num) {        this.sid = sid;        this.name = name;        this.age = age;        this.address = address;        this.num=num;    }     public String getSid() {        return sid;    }    public void setSid(String sid) {        this.sid = sid;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }     public String getAge() {        return age;    }     public void setAge(String age) {        this.age = age;    }    public String getAddress() {        return address;    }     public void setAddress(String address) {        this.address = address;    }    public String getNum() {        return num;    }     public void setNum(String num) {        this.num = num;    }

在People类中加上菜单,并在测试类中去调用。

public void 菜单(){            System.out.println("-------欢迎来到通讯录管理系统-------");            System.out.println("1.增加联系人");            System.out.println("2.删除联系人");            System.out.println("3.修改联系人");            System.out.println("4.查看所有联系人");            System.out.println("5.退出");            System.out.println("请选择:");    }

我们为了能直接通过打印对象来得到我们想要得到信息,而不是得到

查看所有输入的信息,没有重写toString时: [controller.Student@6e0be858]

重写了toString方法就可以得到看得懂。也可以通过Alt+Inset快捷键来快速生成toString方法

@Override    public String toString(){//重写toString方法,使其变成我们看得懂的指定的信息        return "[姓名:"+name+",年龄:"+age+",电话:"+num+",关系:"+sid+",住址:"+address+"]\n";    } }

以上都是在People类中。

我们在PeopleManner类下,书写以下方法。

main方法中:

public static void main(String[] args) {        ArrayList<People> array = new ArrayList();        while (true) {            People s = new People();//创建对象,调用方法。            s.菜单();            Scanner sc1 = new Scanner(System.in);            int d = sc1.nextInt();            switch (d) {                case 1: {                    addPeople(array);                    System.out.println("添加联系人成功");                    break;                }                case 2:{                    deletePeople(array);                  break;                }                case 3:{               revisePeople(array);                break;                }                case 4:{              checkPeople(array);              break;                }                case 5:{                    System.out.println("退出成功,谢谢使用");                    System.exit(0);                   break;                }                default:{                    System.out.println("输入错误,请重新输入");                }            }        }

在增加联系人的方法addPeople中

public static void addPeople(ArrayList<People> array){        Scanner sc=new Scanner(System.in);         System.out.println("请输入姓名");         String name=sc.nextLine();         System.out.println("请输入电话号码");         String num=sc.nextLine();         System.out.println("请输入你们之间的关系");        String sid=sc.nextLine();         System.out.println("请输入年龄");         String age=sc.nextLine();         System.out.println("请输入家庭住址");         String address=sc.nextLine();         People s1=new People();//创建对象,调用set成员,设置成员的值         s1.setAddress(address);         s1.setAge(age);         s1.setName(name);         s1.setSid(sid);         s1.setNum(num);         array.add(s1);//将所有设置的变量加到集合中     }

在查看所有联系人的方法checkPeople中

public static void checkPeople(ArrayList<People> array){        if(array.isEmpty()){//isEmpty是用来判断非空的是collection接口的方法,ArrayList实现了         list接口,list接口继承了collection接口            System.out.println("没有联系人信息,请先添加联系人后查看");        }        else{            System.out.println(array);}//查看所有输入的信息,没有重写toString时:              //[controller.Student@6e0be858]     }

在删除联系人信息方法中

public static void deletePeople(ArrayList<People> array){        if(array.isEmpty()){            System.out.println("没有联系人信息,请先添加联系人信息再操作");        }        else{           Scanner sc=new Scanner(System.in);            System.out.println("请输入你要删除联系人名字");              String num=sc.nextLine();              int sum=0;               for(int i=0;i<array.size();i++) {                 People stu = array.get(i);                 //  System.out.println(stu);//stu包括了一个元素联系人的所有信(name,age...)                  if(stu.getName().equals(num)) {                     array.remove(i);sum++;//定义一个变量用来判断是否含有该元素                      System.out.println("删除成功");                  }               }               if(sum==0){                   System.out.println("删除失败,该联系人信息不存在");               }        }     }

在定义修改联系人信息的方法中

public static void revisePeople(ArrayList<People> array) {          if (array.isEmpty()) {              System.out.println("没有联系人信息!请添加后在进行操作");          } else {              Scanner sc1 = new Scanner(System.in);              System.out.println("请输入你要修改联系人的姓名");              String name1 = sc1.nextLine();              int sum = 0;              for (int j = 0; j < array.size(); j++) {                  People s2 = array.get(j);                  if (s2.getName().equals(name1)) {                      sum++;                  }              }              if (sum == 0) {                  System.out.println("没有匹配的姓名,重新输入");              }else{              Scanner sc = new Scanner(System.in);              System.out.println("请输入新姓名");              String name = sc.nextLine();              System.out.println("请输入新电话码");              String num = sc.nextLine();              System.out.println("请输入你们之间的关系");              String sid = sc.nextLine();              System.out.println("请输入新年龄");              String age = sc.nextLine();              System.out.println("请输入新地址");              String address = sc.nextLine();              People s1 = new People();              s1.setAddress(address);              s1.setAge(age);              s1.setName(name);              s1.setSid(sid);              s1.setNum(num);              // System.out.println(s1);//s1也是一个包含联系人所有信息的元素,所以后续用array.set(i,s1)等价交换              for (int i = 0; i < array.size(); i++) {                  People s = array.get(i);                  if (s.getName().equals(name1)) {                      array.set(i, s1);//将他修改                      System.out.println("修改成功");                      break;                  }               }              }          }       }

最终效果总览图:

Java如何实现通讯录管理系统项目

感谢你能够认真阅读完这篇文章,希望小编分享的“Java如何实现通讯录管理系统项目”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java如何实现通讯录管理系统项目

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java如何实现通讯录管理系统项目

这篇文章主要介绍了Java如何实现通讯录管理系统项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言我们学了这么久的知识了,光学知识不会用是一件很悲伤的事情,所以我们应
2023-06-25

C++如何实现通讯录管理系统项目

这篇文章主要介绍“C++如何实现通讯录管理系统项目”,在日常操作中,相信很多人在C++如何实现通讯录管理系统项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现通讯录管理系统项目”的疑惑有所帮助!
2023-07-02

C++如何实现通讯录管理系统设计

这篇“C++如何实现通讯录管理系统设计”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++如何实现通讯录管理系统设计”文章吧
2023-07-02

C++如何实现简易通讯录管理系统

这篇文章主要介绍“C++如何实现简易通讯录管理系统”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++如何实现简易通讯录管理系统”文章能帮助大家解决问题。前言建议收藏,亲手写一遍代码,感受指针神奇的
2023-07-02

怎么用C++实现通讯录管理系统

这篇“怎么用C++实现通讯录管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用C++实现通讯录管理系统”文章吧。系
2023-07-02

C语言单链表如何实现通讯录管理系统

这篇文章将为大家详细讲解有关C语言单链表如何实现通讯录管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通讯录管理系统保存人的信息有: 名字 name电话 telephone性别 sex年
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录