java-小学期小小项目-通讯录管理系统
📋个人简介
📜个人简介 :
🎅 作者简介:大家好,我是迈热✌️
🌝 支持一下:点赞👍+收藏🌟+留言📪
📣 系列专栏:java基础🍁
✉️格言:先把键盘敲烂再说💻往死里敲!🌞
🌞学习前的小唠叨
🌈🌈哈喽 兄弟萌! 我们都在想成为大佬的路上加油着👍
既然我们已经踏入了学习这一长路, 那么就把它做的让
自己满意为止💜 加油兄弟萌!!!!😝
@[TOC](目录)
🍄 前言
🍊这一期我们来学习小学期常做的小项目通讯录管理系统🍊
🌱 通讯录管理系统的详细介绍
🌱这期我们所要介绍的通讯录管理系统很适合新手伙伴来练练手,内容主要包括增,删,改,查功能和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("修改完成!");
}
}
}
💻 结语
🍻🍻到这我们的任务就结束啦!!!🌝
感谢大家的阅读 如果在内容方面有什么问题的话可以
在评论区或私信告诉我吧
博主小要求🙏🙏 如果这段对大家有用的话 就给博主
一个免费的点赞👍+评论✉️ +收藏💻吧!!!
感谢大家啦💙💙💙
- 点赞
- 收藏
- 关注作者
评论(0)