【100rmb】接的通讯录管理系统

简介: 该项目是用于日常生活中记录联系人信息的一款智能小工具。实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查找、删除、排序等功能。该项目是以 Windows 控制台为运行平台,所有的操作都应在控制台上进行。

一. 项目描述
该项目是用于日常生活中记录联系人信息的一款智能小工具。实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查找、删除、排序等功能。该项目是以 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";
}

}

相关文章
|
应用服务中间件 Linux Shell
使用Docker编译OpenResty支持国密ssl加密
OpenResty自身支持标准SSL协议,但不支持国密SSL协议;本文主要概述如何在docker环境下编译OpenResty镜像支持国密SSL加密。
1509 0
|
存储 Java 索引
JavaSE——集合框架一(6/7)-Set系列集合:LinkedHashSet的底层原理、TreeSet集合(介绍,自定义排序规则,排序示例)
JavaSE——集合框架一(6/7)-Set系列集合:LinkedHashSet的底层原理、TreeSet集合(介绍,自定义排序规则,排序示例)
181 1
|
存储 Cloud Native Oracle
【云原生 | 18】Docker数据卷及卷的持久化问题
Docker 镜像由多个只读层叠加而成,启动容器时,Docker 会加载只读镜像层并在镜像栈顶部添加一个读写层>,如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏,次即“写时复制”机制...............
360 0
【云原生 | 18】Docker数据卷及卷的持久化问题
|
Java 测试技术 API
【小家java】AtomicLong可以抛弃了,请使用LongAdder代替(或使用LongAccumulator)(下)
【小家java】AtomicLong可以抛弃了,请使用LongAdder代替(或使用LongAccumulator)(下)
|
26天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
35323 138
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
9天前
|
人工智能 自然语言处理 监控
OpenClaw skills重构量化交易逻辑:部署+AI全自动炒股指南(2026终极版)
2026年,AI Agent领域最震撼的突破来自OpenClaw(原Clawdbot)——这个能自主规划、执行任务的智能体,用50美元启动资金创造了48小时滚雪球至2980美元的奇迹,收益率高达5860%。其核心逻辑堪称教科书级:每10分钟扫描Polymarket近千个预测市场,借助Claude API深度推理,交叉验证NOAA天气数据、体育伤病报告、加密货币链上情绪等多维度信息,捕捉8%以上的定价偏差,再通过凯利准则将单仓位严格控制在总资金6%以内,实现低风险高频套利。
3685 30
|
22天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
7772 22
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
20天前
|
人工智能 机器人 Linux
OpenClaw(Clawdbot、Moltbot)汉化版部署教程指南(零门槛)
OpenClaw作为2026年GitHub上增长最快的开源项目之一,一周内Stars从7800飙升至12万+,其核心优势在于打破传统聊天机器人的局限,能真正执行读写文件、运行脚本、浏览器自动化等实操任务。但原版全英文界面对中文用户存在上手门槛,汉化版通过覆盖命令行(CLI)与网页控制台(Dashboard)核心模块,解决了语言障碍,同时保持与官方版本的实时同步,确保新功能最快1小时内可用。本文将详细拆解汉化版OpenClaw的搭建流程,涵盖本地安装、Docker部署、服务器远程访问等场景,同时提供环境适配、问题排查与国内应用集成方案,助力中文用户高效搭建专属AI助手。
5325 12