📋个人简介
📜个人简介 : 🎅 作者简介:大家好,我是迈热✌️ 🌝 支持一下:点赞👍+收藏🌟+留言📪 📣 系列专栏:java基础🍁 ✉️格言:先把键盘敲烂再说💻往死里敲!🌞
🌞学习前的小唠叨
🌈🌈哈喽 兄弟萌! 我们都在想成为大佬的路上加油着👍 既然我们已经踏入了学习这一长路, 那么就把它做的让 自己满意为止💜 加油兄弟萌!!!!😝
![在这里插入图片描述](https://img-blog.csdnimg.cn/9b9abcb21a754940bb3d03edff069044.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
目录
📋个人简介🌞学习前的小唠叨🍄 前言🌱 通讯录管理系统的详细介绍💦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系统流程图
![在这里插入图片描述](https://img-blog.csdnimg.cn/5211e56f57a84bb78145019dc8104cce.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
🌱画好了流程图咋们就思路清晰了,接下来我们一个一个去实现这些功能吧!!
💦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 系统主界面的编写
![在这里插入图片描述](https://img-blog.csdnimg.cn/19da165aa56e47699a5da256a130e022.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
🐬 1.2.1主界面编写思路
🌵用输出语句完成主界面的编写🌵用Scanner实现键盘录入数据🌵用Switch语句来完成操作的选择🌵用循环完成再次回到主界面
🐬 1.2.2主界面代码实现
public class PeopleDemo {
public static void main(String[] args) {
// 用循环完成再次回到主界面
while (true)
{
ArrayList array=new ArrayList();
// 用输出语句完成主界面的编写
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主界面代码运行
![在这里插入图片描述](https://img-blog.csdnimg.cn/d22d917f04d84659b999985c955bbb0e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
💦1.3 添加功能的编写
![在这里插入图片描述](https://img-blog.csdnimg.cn/92cdca95c0ed4dfab796e2d64f319d70.png)
🐬 1.3.1添加功能的思路
🌵用键盘录入选择添加通讯人🌵定义一个方法 用于添加通讯人
🌵显示提示信息,提示要输入和中信息🌵键盘录入通讯人对象所需要的信息🌵创建通讯人对象,把键盘录入的数据赋值给通讯人对象的成员变量🌵将通讯人对象添加到集合中🌵 给出添加完成的提示 🌵调用方法
⚠️⚠️注意:我们都知道,每一个都只能拥有一个电话号码,总不能一个号码两个共同使用吧。那么在我们用添加功能的时候,会遇到我们添加的通讯人对象的电话号码重复的情况? 那么下面就是解决在添加通讯人对象是电话号码重复的的问题
🍒🍒思路:
🌵定义一个方法,对电话号码是否被使用进行判断
🌵如果与集合中的某个电话号码相同,返回true,如果都不相同,返回false
🌵在添加通讯人录入电话号码后调用方法
🌵如果返回true,给出提示,号码重复 请重新输入号码🌵如果返回false,正常添加通讯人对象
🐬 1.3.2 添加功能的代码实现
🍒🍒这里我们需要一个array去存我们的数据,而且这个array在每一个功能都会用到,所以为了把array弄成统一,我在主界面的编写中创建了array 对象。
⚠️⚠️注意: 兄弟萌,我把每个功能的方法调用都放在主界面的编写代码中了哦⬆️⬆️
//添加通讯人信息
public static void addPeople(ArrayList 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 添加功能的运行
![在这里插入图片描述](https://img-blog.csdnimg.cn/39e578f781cd4cd6b4462973a3299538.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
💦1.4 通讯人号码重复的的问题
⚠️⚠️注意:我们都知道,每一个都只能拥有一个电话号码,总不能一个号码两个共同使用吧。那么在我们用添加功能的时候,会遇到我们添加的通讯人对象的电话号码重复的情况? 那么下面就是解决在添加通讯人对象是电话号码重复的的问题
🐬 1.4.1解决号码重复的思路
🍒🍒思路:
🌵定义一个方法,对电话号码是否被使用进行判断
🌵如果与集合中的某个电话号码相同,返回true,如果都不相同,返回false
🌵在添加通讯人录入电话号码后调用方法
🌵如果返回true,给出提示,号码重复 请重新输入号码🌵如果返回false,正常添加通讯人对象
🐬 1.4.2 号码重复的代码实现
🍒🍒
//解决添加号码重复的问题
public static boolean boolPeople(ArrayList array,String phone){
boolean flag=false;
for(int i=0;i
flag=true;
}
}
return flag;
}
🐬 1.4.3 号码重复的代码运行
🍒🍒当输入的号码被占用时: 🍒🍒当输入的号码没被占用时:
💦1.5 查看功能的编写
![在这里插入图片描述](https://img-blog.csdnimg.cn/aa2f73dc70e24c62bd3251877ec5ac0d.png)
🐬 1.5.1查看功能的思路
🌵用键盘录入选择查看所有通讯人信息🌵定义一个方法 用于查看通讯人信息
🌵显示表头信息🌵将集合中数据取出,按照对应格式显示通讯人信息 🌵调用方法
🐬 1.5.2 查看功能的代码实现
🍒🍒
//查看通讯人信息
public static void printPeople(ArrayList array){
if(array.size()==0){
System.out.println("无通讯人信息,请输入信息再查看!");
return;
}
System.out.println("姓名\t\t电话号码\t\t居住地");
for(int i=0;i
//用键盘录入选择删除通讯人信息
Scanner sc=new Scanner(System.in);
//显示提示信息
System.out.println("请输入你要删除的通讯人号码:");
String phone = sc.nextLine();
//在删除通讯人之前,我们对电话号码是否存在进行判断
int index=-1;
//遍历集合将对应通讯人对象从集合中删除
for(int i=0;i
index=i;
break;
}
}
if(index==-1){
System.out.println("该号码不存在 请重新输入!");
}else{
array.remove(index);//remove是删除此通讯人的信息
System.out.println("删除通讯人成功");
}
}
🐬 1.6.3 删除功能的运行
🍒🍒想删除的通讯人不存在的情况下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/4e5cdadb0aaa427d9dadacd52cb5448e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_19,color_FFFFFF,t_70,g_se,x_16) 🍒🍒想删除的通讯人存在的情况下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/1209b67b28594e4b81079030432ca7e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
💦1.7 修改功能的编写
![在这里插入图片描述](https://img-blog.csdnimg.cn/f68391ab6f9e4124a211e62b5db1d993.png)
🐬 1.7.1修改功能的思路
🌵用键盘录入选择修改通讯人信息🌵定义一个方法 用于修改通讯人信息
🌵显示提示信息🌵键盘输入要修改的通讯人手机号🌵键盘输入要修改的通讯人信息🌵遍历集合将修改对应通讯人信息🌵给出修改成功提示 🌵调用方法
⚠️⚠️注意:在我们在用修改功能的时候,会遇到我们所想修改的对象不存在的情况?那么下面就是解决修改所想修改的对象不存在的问题
🍒🍒思路:
🌵在修改通讯人之前,我们对电话号码是否存在进行判断🌵如果不存在,显示提示信息🌵如果存在,执行修改操作
🐬 1.7.2 修改功能的代码实现
🍒🍒
//修改学生信息
public static void revisePeople(ArrayList array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改的通讯人电话号码:");
String phone = sc.nextLine();
int index=-1;
for(int i=0;i
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 修改功能的运行
🍒🍒想修改的通讯人不存在的情况下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/dc61e7d60e874934ad1569108170986b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16) 🍒🍒想修改的通讯人存在的情况下: ![9](https://img-blog.csdnimg.cn/a8e39d55776140deb33bd9677f320121.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
💦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 array=new ArrayList();
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 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 array,String phone){
boolean flag=false;
for(int i=0;i
flag=true;
}
}
return flag;
}
//查看通讯人信息
public static void printPeople(ArrayList array){
if(array.size()==0){
System.out.println("无通讯人信息,请输入信息再查看!");
return;
}
System.out.println("姓名\t\t电话号码\t\t居住地");
for(int i=0;i
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要删除的通讯人号码:");
String phone = sc.nextLine();
int index=-1;
for(int i=0;i
index=i;
break;
}
}
if(index==-1){
System.out.println("该号码不存在 请重新输入!");
}else{
array.remove(index);//remove是删除此通讯人的信息
System.out.println("删除通讯人成功");
}
}
//修改学生信息
public static void revisePeople(ArrayList array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改的通讯人电话号码:");
String phone = sc.nextLine();
int index=-1;
for(int i=0;i
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("修改完成!");
}
}
}
💻 结语
🍻🍻到这我们的任务就结束啦!!!🌝 感谢大家的阅读 如果在内容方面有什么问题的话可以 在评论区或私信告诉我吧 博主小要求🙏🙏 如果这段对大家有用的话 就给博主 一个免费的点赞👍+评论✉️ +收藏💻吧!!! 感谢大家啦💙💙💙
![在这里插入图片描述](https://img-blog.csdnimg.cn/c58b58b2bcde4f30bf870ab1f65a77f5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6L-I54Ot,size_20,color_FFFFFF,t_70,g_se,x_16)
|