一、项目介绍
1、项目描述
该项目是用于日常生活中记录联系人信息的一款小工具。
实现了对联系人的姓名、年龄、性别、电话号码、住址的添加及修改、查找、删除、排序等功能。该项目是以windows控制台为运行平台,所有的操作都应在控制台上进行。
2、编写目的
该项目编写的主要目的使学员对以往所学过的知识点做一个统一的复习,将平时所学的内容综合到一起并运用到实际代码编写中。
该项目能够充分的体现出一些简单的业务流程处理,能够使学员掌握基本的业务流程控制。
二、项目流程图
1、业务结构流程图
2、基本操作流程图
2.2.1当运行主程序后可在控制台显示主菜单,用户可选择菜单中的选项进行相应的操作如用户输入的菜单选项超出当前菜单所规定的范围外,程序不予以执行,并返回当前菜单,用户需要重新输入。见(图表1)
2.2.2用户选择1 可进入添加记录的下级子菜单见(图表2)
2.2.3当进入下级子菜单后,用户可根据提示进行用户的添加见(图表3)
2.2.4在添加新联系人时应对所添加的选项进行验证,如果有输入错误应提示见(图表4)
2.2.5添加完毕后可查看电话薄内的全部记录见(图表5)
2.2.6选择返回选项时,可返回上级主菜单见(图表6)
2.2.7选择2进入查找记录子菜单见(图表7)
2.2.8用户可根据具体内容进行相关查询见(图表8)
2.2.9选择3进入修改记录子菜单见(图表9)
2.2.10通过查看全记录,找到要修改联系的ID号对联系人的内容进行相应的修改见(图表10,11)
2.2.11选择4进入删除记录子菜单见(图表12)。
2.2.12删除共分为删除指定记录和删除全部两种操作。删除指定记录时需要输入被删除
人的ID序号。删除成功后可继续操作见(图表13,14)
此时ID为1的ZhangSan用户已被删除,ID为2的LiSi的ID序号会制动增长为1
2.2.13删除全部用户。选择该选项可将电话薄清空见(图表15)
2.2.14用户可选择不同的选项对电话薄内的信息进行任意排序见(图表16,17,18,19)
按姓名排序结果
按年龄排序结果
按性别排序结果
3、基本程序设计
选择相应的菜单 ——>验证类对用户输入的选项进行验证——>根据用户的选择进行相应的业务处理——>操作后返回上级菜单
4、技术要求
键盘输入Scanner类
正则表达式Pattern类
容器ArrayList类
排序方式(比较器排序)Comparator接口,Collections类
三、编码规范
1、类名
App 对应 Application(程序入口函数)
Menu 对应 Menu (菜单类)
Operate 对应 Operate (业务处理类)
Person 对应 Person (实体类)
TelNoteRegex 对应 TelNoteRegex(用户输入验证类)
OrderByName 对应 OrderByName (姓名排序比较器)
OrderByAge 对应 OrderByAge (年龄排序比较器)
OrderBySex 对应 OrderBySex(性别排序比较器)
2、方法名
2.1、App类中方法(无成员变量)
main() 程序入口函数
start() 主菜单控制
2.2、Operate类中方法及成员变量
*private* Vector<Person> v 集合
addLogic() 用户添加信息业务逻辑控制
searchLogic() 用户查询信息业务逻辑控制
modifyLogicLogic() 修改信息业务逻辑控制
deleteLogic() 删除信息业务逻辑控制
orderLogic() 排序信息业务逻辑控制
addOperation () 添加新用户信息
showAll() 查询全部用户信息
searchByName() 按姓名查询用户信息
searchByAge() 按年龄查询用户信息
searchBySex() 按性别查询用户信息
searchByTelNum() 按电话号码查询用户信息
searchByAdd() 按地址查询用户信息
modify() 修改指定记录信息
delete() 删除指定用户信息
deleteAll() 删除全部用户信息
orderName() 按用户姓名排序信息
orderAge() 按用户年龄排序信息
orderSex() 按用户性别排序信息
2.3、TelNoteRegex类中方法(无成员变量)
menuRegex (int min, int max ) 对菜单输入选项的验证
nameRegex ( ) 对用户输入姓名的验证
ageRegex ( ) 对用户输入年龄的验证
sexRegex ( ) 对用户输入性别的验证
telNumRegex ( ) 对用户输入电话号码的验证
addressRegex ( ) 对用户输入地址的验证
2.4、Menu类中的方法(无成员变量)
mainMenu() 主菜单
addMenu () 添加用户菜单
searchMenu () 查找用户菜单
modifyMenu () 修改用户信息主菜单
subModifyMenu () 修改用户信息子菜单
deleteMenu () 删除用户信息菜单
orderMenu () 排序用户信息菜单
2.5、Person类中的方法及成员变量
*private* *int* id; 用户ID 属性
*private* String name; 用户姓名属性
*private*</