一. 项目描述
该项目是用于日常生活中记录联系人信息的一款智能小工具。实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查找、删除、排序等功能。该项目是以 Windows 控制台为运行平台,所有的操作都应在控制台
上进行。
二. 编写目的
通过该项目将平时所学的内容综合到一起并运用到实际的项目中。并且通过实现自己实现的数据结构来实现存储和持久化处理(孩子说老师不给用集合,自己实现一个数据结构来存储)
该项目能够充分的体现出一些简单的业务流程处理,能够使同学们掌握基本的业务流程处理。进一步理解什么是面相对象设计(OOD:Object Oriented Design)。充分理解面向对象设计的精髓。
三. 技术说明
3.1 业务流程结构图
3.2 数据存储结构
id 序号
name 姓名
age 年龄
sex 性别
telNum 电话号码
address 地址
3.3 技术要求及开发环境
JDK 版本为 11
键盘输入 Scanner 类
正则表达式 Pattern 类
自编写数据结构LinkedList
Windows 10 & idea 2020
四. 项目开发
4.1 创建菜单类
public class Menus {
//主界面
public void mainMenu(){
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("** 6 退出系统 **");
System.out.println("--------------⭐------------");
}
//添加界面
public void addMenu(){
System.out.println("--------------⭐------------");
System.out.println("** 1 添加新记录 **");
System.out.println("** 2 查看全记录 **");
System.out.println("** 3 返回上一级 **");
System.out.println("--------------⭐------------");
}
//查找界面
public void searchMenu(){
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("** 6 查看全记录 **");
System.out.println("** 7 返回上一级 **");
System.out.println("--------------⭐------------");
}
//修改界面
public void modifyMenu(){
System.out.println("---------------⭐------------");
System.out.println("** 1 查看全记录 **");
System.out.println("** 2 修改指定记 **");
System.out.println("** 3 返回上一级 **");
System.out.println("--------------⭐------------");
}
//修改子界面
public void subModifyMenu(){
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("** 6 返回上一级 **");
System.out.println("--------------⭐------------");
}
//删除界面
public void deleteMenu(){
System.out.println("--------------⭐------------");
System.out.println("** 1 查看全部记录 **");
System.out.println("** 2 删除指定记录 **");
System.out.println("** 3 删除全部记录 **");
System.out.println("** 4 返回上一级 **");
System.out.println("--------------⭐------------");
}
//排序界面
public void orderMenu(){
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("--------------⭐------------");
}
}
在这里插入图片描述
4.2 创建实体类
import java.io.Serializable;
public class Users implements Serializable {
private int id;
private String name;
private int age;
private String sex;
private String telNum;
private String address;
public Users() {
}
public Users(String name, int age, String sex, String telNum, String address) {
this.name = name;
this.age = age;
this.sex = sex;
this.telNum = telNum;
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getTelNum() {
return telNum;
}
public void setTelNum(String telNum) {
this.telNum = telNum;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "id=" + id +
"\tname: " + name +
" age: " + age +
" sex: " + sex +
" telNum: " + telNum +
" address: " + address +"\t\t";
}
}