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中
🐬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 添加功能的编写
🐬 1.3.1添加功能的思路
- 🌵用键盘录入选择添加通讯人
- 🌵定义一个方法 用于添加通讯人
- 🌵显示提示信息,提示要输入和中信息
- 🌵键盘录入通讯人对象所需要的信息
- 🌵创建通讯人对象,把键盘录入的数据赋值给通讯人对象的成员变量
- 🌵将通讯人对象添加到集合中
- 🌵 给出添加完成的提示
- 🌵调用方法
⚠️⚠️注意:我们都知道,每一个都只能拥有一个电话号码,总不能一个号码两个共同使用吧。那么在我们用添加功能的时候,会遇到我们添加的通讯人对象的电话号码重复的情况? 那么下面就是解决在添加通讯人对象是电话号码重复的的问题
- 🍒🍒思路:
- 🌵定义一个方法,对电话号码是否被使用进行判断
- 🌵如果与集合中的某个电话号码相同,返回true,如果都不相同,返回false
- 🌵在添加通讯人录入电话号码后调用方法
- 🌵如果返回true,给出提示,号码重复 请重新输入号码
- 🌵如果返回false,正常添加通讯人对象
- 🌵定义一个方法,对电话号码是否被使用进行判断
🐬 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,正常添加通讯人对象
- 🌵定义一个方法,对电话号码是否被使用进行判断
🐬 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 查看功能的编写
🐬 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 删除功能的编写
🐬 1.6.1删除功能的思路
- 🌵用键盘录入选择删除通讯人信息
- 🌵定义一个方法 用于删除通讯人信息
- 🌵显示提示信息
- 🌵键盘输入要删除的通讯人手机号
- 🌵遍历集合将对应通讯人对象从集合中删除
- 🌵给出删除成功提示
- 🌵调用方法
⚠️⚠️注意:在我们在用删除功能的时候,会遇到我们所想删除的对象不存在的情况? 那么下面就是解决删除所想删除的对象不存在的问题
- 🍒🍒思路:
- 🌵在删除通讯人之前,我们对电话号码是否存在进行判断
- 🌵如果不存在,显示提示信息
- 🌵如果存在,执行删除操作
🐬 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 修改功能的编写
🐬 1.7.1修改功能的思路
- 🌵用键盘录入选择修改通讯人信息
- 🌵定义一个方法 用于修改通讯人信息
- 🌵显示提示信息
- 🌵键盘输入要修改的通讯人手机号
- 🌵键盘输入要修改的通讯人信息
- 🌵遍历集合将修改对应通讯人信息
- 🌵给出修改成功提示
- 🌵调用方法
⚠️⚠️注意:在我们在用修改功能的时候,会遇到我们所想修改的对象不存在的情况?那么下面就是解决修改所想修改的对象不存在的问题
- 🍒🍒思路:
- 🌵在修改通讯人之前,我们对电话号码是否存在进行判断
- 🌵如果不存在,显示提示信息
- 🌵如果存在,执行修改操作
🐬 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 修改功能的运行
-
🍒🍒想修改的通讯人不存在的情况下:
-
🍒🍒想修改的通讯人存在的情况下:
💦1.8 完整代码展示
🌱🌱到这里我们上述的代码已经讲解的差不多了,下面就是完整代码的展示咯
- 🍒🍒下面两代码要放在一个Package中的哦
🐋 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("修改完成!"); } }}
💻 结语
🍻🍻到这我们的任务就结束啦!!!🌝
感谢大家的阅读 如果在内容方面有什么问题的话可以
在评论区或私信告诉我吧
博主小要求🙏🙏 如果这段对大家有用的话 就给博主
一个免费的点赞👍+评论✉️ +收藏💻吧!!!
感谢大家啦💙💙💙