> 文档中心 > java-小学期小小项目-通讯录管理系统(来救你小学期了)

java-小学期小小项目-通讯录管理系统(来救你小学期了)


📋个人简介

📜个人简介 :
🎅 作者简介:大家好,我是迈热✌️
🌝 支持一下:点赞👍+收藏🌟+留言📪
📣 系列专栏:java基础🍁
✉️格言:先把键盘敲烂再说💻往死里敲!🌞

🌞学习前的小唠叨

🌈🌈哈喽 兄弟萌! 我们都在想成为大佬的路上加油着👍
既然我们已经踏入了学习这一长路, 那么就把它做的让
自己满意为止💜 加油兄弟萌!!!!😝

在这里插入图片描述

目录

  • 📋个人简介
  • 🌞学习前的小唠叨
  • 🍄 前言
  • 🌱 通讯录管理系统的详细介绍
    • 💦1.1系统流程图
    • 💦1.2 编写代码思路
  • 🌱 各功能的实现
    • 💦1.1定义People类
      • 🐬1.1.1 定义类思路
      • 🐬1.1.1 定义类的代码实现
    • 💦1.2 系统主界面的编写
      • 🐬 1.2.1主界面编写思路
      • 🐬 1.2.2主界面代码实现
      • 🐬 1.2.2主界面代码运行
    • 💦1.3 添加功能的编写
      • 🐬 1.3.1添加功能的思路
      • 🐬 1.3.2 添加功能的代码实现
      • 🐬 1.3.3 添加功能的运行
    • 💦1.4 通讯人号码重复的的问题
      • 🐬 1.4.1解决号码重复的思路
      • 🐬 1.4.2 号码重复的代码实现
      • 🐬 1.4.3 号码重复的代码运行
    • 💦1.5 查看功能的编写
      • 🐬 1.5.1查看功能的思路
      • 🐬 1.5.2 查看功能的代码实现
      • 🐬 1.5.3 查看功能的运行
    • 💦1.6 删除功能的编写
      • 🐬 1.6.1删除功能的思路
      • 🐬 1.6.2 删除功能的代码实现
      • 🐬 1.6.3 删除功能的运行
    • 💦1.7 修改功能的编写
      • 🐬 1.7.1修改功能的思路
      • 🐬 1.7.2 修改功能的代码实现
      • 🐬 1.7.3 修改功能的运行
    • 💦1.8 完整代码展示
      • 🐋 1.8.1 People类的编写
      • 🐋 1.8.1 PeopleDemo(测试类)的编写
  • 💻 结语

🍄 前言

🍊这一期我们来学习小学期常做的小项目通讯录管理系统🍊

🌱 通讯录管理系统的详细介绍

🌱这期我们所要介绍的通讯录管理系统很适合新手伙伴来练练手,内容主要包括增,删,改,查功能和java基础知识来实现通讯人员的管理。

💦1.1系统流程图

在这里插入图片描述

🌱画好了流程图咋们就思路清晰了,接下来我们一个一个去实现这些功能吧!!

💦1.2 编写代码思路

  • 🍋首先定义People类
  • 🍋系统主界面的编写过程
  • 🍋实现添加通讯人信息功能
  • 🍋实现修改通讯人信息功能
  • 🍋实现删除通讯人信息功能
  • 🍋实现查看通讯人信息功能

🌱 各功能的实现

🌱🌱要注意每一个细节哦!😁

💦1.1定义People类

  • ⭐️注:我们的People类是写在People中的,其他主界面,增,删,改,查等功能写在PeopleDemo中
    java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬1.1.1 定义类思路

  • 🍒 定义People类
    • 🌵 取名People
  • 🍒 成员变量:
    • 🌵 姓名:name
    • 🌵 电话号码:phone
    • 🌵 居住地:address
  • 🍒 构造方法:
    • 🌵 无参构造
    • 🌵 带三个参数的构造
  • 🍒 成员方法:
    • 🌵 每个成员变量对应给出get/set方法

🐬1.1.1 定义类的代码实现

public class People {    private String name;    private String phone;    private String address;//成员变量    public People() {    }//无参构造    public People(String name, String phone, String address) { this.name = name; this.phone = phone; this.address = address;    }//带三个参数的构造    // 每个成员变量对应给出 get / set方法    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 getAddress() { return address;    }    public void setAddress(String address) { this.address = address;    }}

💦1.2 系统主界面的编写

在这里插入图片描述

🐬 1.2.1主界面编写思路

  • 🌵用输出语句完成主界面的编写
  • 🌵用Scanner实现键盘录入数据
  • 🌵用Switch语句来完成操作的选择
  • 🌵用循环完成再次回到主界面

🐬 1.2.2主界面代码实现

public class PeopleDemo {    public static void main(String[] args) {//    用循环完成再次回到主界面 while (true) {     ArrayList<People> array=new ArrayList<People>();//    用输出语句完成主界面的编写     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("请输入你的选择:");//    用Scanner实现键盘录入数据     Scanner sc=new Scanner(System.in);     String line = sc.nextLine();//    用Switch语句完成操作的选择     switch (line){  case "1":      System.out.println("添加通讯录人员");      //添加方法的调用      addPeople(array);      break;  case "2":      System.out.println("修改通讯录人员");//修改方法的调用      revisePeople(array);      break;  case "3":      System.out.println("删除通讯录人员");//删除方法的调用      deletePeople(array);      break;  case "4":      System.out.println("查看所有通讯录人员");     //查看方法的调用      printPeople(array);      break;  case "5":      System.exit(0);//退出系统     } }    }}

🐬 1.2.2主界面代码运行

在这里插入图片描述

💦1.3 添加功能的编写

java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.3.1添加功能的思路

  • 🌵用键盘录入选择添加通讯人
  • 🌵定义一个方法 用于添加通讯人
    • 🌵显示提示信息,提示要输入和中信息
    • 🌵键盘录入通讯人对象所需要的信息
    • 🌵创建通讯人对象,把键盘录入的数据赋值给通讯人对象的成员变量
    • 🌵将通讯人对象添加到集合中
    • 🌵 给出添加完成的提示
  • 🌵调用方法

⚠️⚠️注意:我们都知道,每一个都只能拥有一个电话号码,总不能一个号码两个共同使用吧。那么在我们用添加功能的时候,会遇到我们添加的通讯人对象的电话号码重复的情况? 那么下面就是解决在添加通讯人对象是电话号码重复的的问题

  • 🍒🍒思路
    • 🌵定义一个方法,对电话号码是否被使用进行判断
      • 🌵如果与集合中的某个电话号码相同,返回true,如果都不相同,返回false
    • 🌵在添加通讯人录入电话号码后调用方法
      • 🌵如果返回true,给出提示,号码重复 请重新输入号码
      • 🌵如果返回false,正常添加通讯人对象
        java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.3.2 添加功能的代码实现

  • 🍒🍒这里我们需要一个array去存我们的数据,而且这个array在每一个功能都会用到,所以为了把array弄成统一,我在主界面的编写中创建了array 对象。

⚠️⚠️注意: 兄弟萌,我把每个功能的方法调用都放在主界面的编写代码中了哦⬆️⬆️

//添加通讯人信息    public static void addPeople(ArrayList<People> array){ Scanner sc=new Scanner(System.in); //通讯人号码重复的方法调用 String phone ; while(true) {     System.out.println("请输入通讯人电话号码:");     phone = sc.nextLine();     boolean flag = boolPeople(array, phone);     if (flag) {  System.out.println("该号码已被占用 请重新输入!");     } else {  break;     } } //输入通讯人信息 System.out.println("请输入通讯人姓名:"); String name=sc.nextLine(); System.out.println("请输入通讯人电话号码:"); String Phone = sc.nextLine(); System.out.println("请输入通讯人居住地:"); String address=sc.nextLine(); //创建通讯人对象 People p=new People(); //把信息赋给通讯人对象的成员变量 p.setName(name); p.setPhone(Phone); p.setAddress(address); //把通讯人对象添加到集合里 array.add(p); System.out.println("信息添加完毕");    }

🐬 1.3.3 添加功能的运行

在这里插入图片描述

💦1.4 通讯人号码重复的的问题

⚠️⚠️注意:我们都知道,每一个都只能拥有一个电话号码,总不能一个号码两个共同使用吧。那么在我们用添加功能的时候,会遇到我们添加的通讯人对象的电话号码重复的情况? 那么下面就是解决在添加通讯人对象是电话号码重复的的问题

🐬 1.4.1解决号码重复的思路

  • 🍒🍒思路
    • 🌵定义一个方法,对电话号码是否被使用进行判断
      • 🌵如果与集合中的某个电话号码相同,返回true,如果都不相同,返回false
    • 🌵在添加通讯人录入电话号码后调用方法
      • 🌵如果返回true,给出提示,号码重复 请重新输入号码
      • 🌵如果返回false,正常添加通讯人对象
        java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.4.2 号码重复的代码实现

  • 🍒🍒
//解决添加号码重复的问题    public static boolean boolPeople(ArrayList<People> array,String phone){ boolean flag=false; for(int i=0;i< array.size();i++){     People p = array.get(i);     if(p.getPhone().equals(phone)){  flag=true;     } } return flag;    }

🐬 1.4.3 号码重复的代码运行

  • 🍒🍒当输入的号码被占用时:
    在这里插入图片描述
  • 🍒🍒当输入的号码没被占用时:
    在这里插入图片描述

💦1.5 查看功能的编写

java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.5.1查看功能的思路

  • 🌵用键盘录入选择查看所有通讯人信息
  • 🌵定义一个方法 用于查看通讯人信息
    • 🌵显示表头信息
    • 🌵将集合中数据取出,按照对应格式显示通讯人信息
  • 🌵调用方法

🐬 1.5.2 查看功能的代码实现

  • 🍒🍒
//查看通讯人信息    public static void printPeople(ArrayList<People> array){ if(array.size()==0){     System.out.println("无通讯人信息,请输入信息再查看!");     return; } System.out.println("姓名\t\t电话号码\t\t居住地"); for(int i=0;i<array.size();i++){     People p = array.get(i);     System.out.println(p.getName()+"\t\t"+p.getPhone()+"\t\t"+p.getAddress()); }    }

🐬 1.5.3 查看功能的运行

  • 🍒🍒在有数据存在的情况下:
    在这里插入图片描述
  • 🍒🍒当我们通讯录为空时:
    在这里插入图片描述

💦1.6 删除功能的编写

java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.6.1删除功能的思路

  • 🌵用键盘录入选择删除通讯人信息
  • 🌵定义一个方法 用于删除通讯人信息
    • 🌵显示提示信息
    • 🌵键盘输入要删除的通讯人手机号
    • 🌵遍历集合将对应通讯人对象从集合中删除
    • 🌵给出删除成功提示
  • 🌵调用方法

⚠️⚠️注意:在我们在用删除功能的时候,会遇到我们所想删除的对象不存在的情况? 那么下面就是解决删除所想删除的对象不存在的问题

  • 🍒🍒思路:
    • 🌵在删除通讯人之前,我们对电话号码是否存在进行判断
    • 🌵如果不存在,显示提示信息
    • 🌵如果存在,执行删除操作
      java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.6.2 删除功能的代码实现

  • 🍒🍒
//删除通讯人信息    public static void deletePeople(ArrayList<People> array){    //用键盘录入选择删除通讯人信息 Scanner sc=new Scanner(System.in);    //显示提示信息 System.out.println("请输入你要删除的通讯人号码:"); String phone = sc.nextLine();     //在删除通讯人之前,我们对电话号码是否存在进行判断 int index=-1;    //遍历集合将对应通讯人对象从集合中删除 for(int i=0;i<array.size();i++){     People p = array.get(i);     if(p.getPhone().equals(phone)){  index=i;  break;     } } if(index==-1){     System.out.println("该号码不存在 请重新输入!"); }else{     array.remove(index);//remove是删除此通讯人的信息     System.out.println("删除通讯人成功"); }    }

🐬 1.6.3 删除功能的运行

  • 🍒🍒想删除的通讯人不存在的情况下:
    在这里插入图片描述

  • 🍒🍒想删除的通讯人存在的情况下:
    在这里插入图片描述

💦1.7 修改功能的编写

java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.7.1修改功能的思路

  • 🌵用键盘录入选择修改通讯人信息
  • 🌵定义一个方法 用于修改通讯人信息
    • 🌵显示提示信息
    • 🌵键盘输入要修改的通讯人手机号
    • 🌵键盘输入要修改的通讯人信息
    • 🌵遍历集合将修改对应通讯人信息
    • 🌵给出修改成功提示
  • 🌵调用方法

⚠️⚠️注意:在我们在用修改功能的时候,会遇到我们所想修改的对象不存在的情况?那么下面就是解决修改所想修改的对象不存在的问题

  • 🍒🍒思路
    • 🌵在修改通讯人之前,我们对电话号码是否存在进行判断
    • 🌵如果不存在,显示提示信息
    • 🌵如果存在,执行修改操作
      java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐬 1.7.2 修改功能的代码实现

  • 🍒🍒
//修改学生信息    public static void revisePeople(ArrayList<People> array){ Scanner sc=new Scanner(System.in); System.out.println("请输入你要修改的通讯人电话号码:"); String phone = sc.nextLine();  int index=-1; for(int i=0;i<array.size();i++){     People people = array.get(i);     if(people.getPhone().equals(phone)){  index=i;  break;     } } if(index==-1){     System.out.println("该号码不存在 请重新输入!"); } else{     System.out.println("请输入新姓名:");     String name=sc.nextLine();     System.out.println("请输入新居住地:");     String address=sc.nextLine();     //创建通讯人对象     People p=new People();     p.setPhone(phone);     p.setName(name);     p.setAddress(address);     array.set(index,p);     System.out.println("修改完成!"); }    }

🐬 1.7.3 修改功能的运行

  • 🍒🍒想修改的通讯人不存在的情况下:
    在这里插入图片描述

  • 🍒🍒想修改的通讯人存在的情况下:
    9

💦1.8 完整代码展示

🌱🌱到这里我们上述的代码已经讲解的差不多了,下面就是完整代码的展示咯

  • 🍒🍒下面两代码要放在一个Package中的哦
    java-小学期小小项目-通讯录管理系统(来救你小学期了)

🐋 1.8.1 People类的编写

public class People {    private String name;    private String phone;    private String address;    public People() {    }    public People(String name, String phone, String address) { this.name = name; this.phone = phone; this.address = address;    }    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 getAddress() { return address;    }    public void setAddress(String address) { this.address = address;    }}

🐋 1.8.1 PeopleDemo(测试类)的编写

import java.util.Scanner;import java.util.ArrayList;public class PeopleDemo {    public static void main(String[] args) { //创建集合 ArrayList<People> array=new ArrayList<People>(); while (true) {     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("请输入你的选择:");     Scanner sc=new Scanner(System.in);     String line = sc.nextLine();     switch (line){  case "1":      System.out.println("添加通讯录人员");      addPeople(array);      break;  case "2":      System.out.println("修改通讯录人员");      revisePeople(array);      break;  case "3":      System.out.println("删除通讯录人员");      deletePeople(array);      break;  case "4":      System.out.println("查看所有通讯录人员");      printPeople(array);      break;  case "5":      System.exit(0);//退出系统     } }    }    //添加通讯人信息    public static void addPeople(ArrayList<People> array){ Scanner sc=new Scanner(System.in); String phone ; while(true) {     System.out.println("请输入通讯人电话号码:");     phone = sc.nextLine();     boolean flag = boolPeople(array, phone);     if (flag) {  System.out.println("该号码已被占用 请重新输入!");     } else {  break;     } } //输入通讯人信息 System.out.println("请输入通讯人姓名:"); String name=sc.nextLine(); System.out.println("请输入通讯人居住地:"); String address=sc.nextLine(); //创建通讯人对象 People p=new People(); //把信息赋给通讯人对象的成员变量 p.setName(name); p.setPhone(phone); p.setAddress(address); //把通讯人对象添加到集合里 array.add(p); System.out.println("信息添加完毕");    }    //解决添加号码重复的问题    public static boolean boolPeople(ArrayList<People> array,String phone){ boolean flag=false; for(int i=0;i< array.size();i++){     People p = array.get(i);     if(p.getPhone().equals(phone)){  flag=true;     } } return flag;    }    //查看通讯人信息    public static void printPeople(ArrayList<People> array){ if(array.size()==0){     System.out.println("无通讯人信息,请输入信息再查看!");     return; } System.out.println("姓名\t\t电话号码\t\t居住地"); for(int i=0;i<array.size();i++){     People p = array.get(i);     System.out.println(p.getName()+"\t\t"+p.getPhone()+"\t\t"+p.getAddress()); }    }    //删除通讯人信息    public static void deletePeople(ArrayList<People> array){ Scanner sc=new Scanner(System.in); System.out.println("请输入你要删除的通讯人号码:"); String phone = sc.nextLine(); int index=-1; for(int i=0;i<array.size();i++){     People p = array.get(i);     if(p.getPhone().equals(phone)){  index=i;  break;     } } if(index==-1){     System.out.println("该号码不存在 请重新输入!"); }else{     array.remove(index);//remove是删除此通讯人的信息     System.out.println("删除通讯人成功"); }    }    //修改学生信息    public static void revisePeople(ArrayList<People> array){ Scanner sc=new Scanner(System.in); System.out.println("请输入你要修改的通讯人电话号码:"); String phone = sc.nextLine(); int index=-1; for(int i=0;i<array.size();i++){     People people = array.get(i);     if(people.getPhone().equals(phone)){  index=i;  break;     } } if(index==-1){     System.out.println("该号码不存在 请重新输入!"); } else{     System.out.println("请输入新姓名:");     String name=sc.nextLine();     System.out.println("请输入新居住地:");     String address=sc.nextLine();     //创建通讯人对象     People p=new People();     p.setPhone(phone);     p.setName(name);     p.setAddress(address);     array.set(index,p);     System.out.println("修改完成!"); }    }}

💻 结语

🍻🍻到这我们的任务就结束啦!!!🌝
感谢大家的阅读 如果在内容方面有什么问题的话可以
在评论区或私信告诉我吧
博主小要求🙏🙏 如果这段对大家有用的话 就给博主
一个免费的点赞👍+评论✉️ +收藏💻吧!!!
感谢大家啦💙💙💙

在这里插入图片描述