Java电话簿系统超全总结笔记

一、项目介绍

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*</

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设你要实现一个Java电话簿系统Person,以下是一个可能的接口、方法和说明: **接口 PersonInterface** ```java public interface PersonInterface { public String getName(); // 获取姓名 public void setName(String name); // 设置姓名 public String getPhoneNumber(); // 获取电话号码 public void setPhoneNumber(String phoneNumber); // 设置电话号码 public String getEmail(); // 获取电子邮件地址 public void setEmail(String email); // 设置电子邮件地址 public String getAddress(); // 获取地址 public void setAddress(String address); // 设置地址 public String toString(); // 将Person对象转换为字符串 } ``` **类 Person** ```java public class Person implements PersonInterface { private String name; private String phoneNumber; private String email; private String address; // 构造函数 public Person() { this.name = ""; this.phoneNumber = ""; this.email = ""; this.address = ""; } // 实现接口中的方法 public String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getPhoneNumber() { return this.phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public String getEmail() { return this.email; } public void setEmail(String email) { this.email = email; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } public String toString() { return "Name: " + this.name + "\nPhone number: " + this.phoneNumber + "\nEmail: " + this.email + "\nAddress: " + this.address; } } ``` 在上面的代码中,我们定义了一个接口PersonInterface,并在类Person中实现了这个接口。Person类有四个私有变量:姓名、电话号码、电子邮件地址和地址。我们为每个变量定义了对应的getter和setter方法,以便于获取和设置它们的值。Person类还实现了toString()方法,将Person对象转换为字符串形式。这个方法可以用于在控制台或其他输出设备上显示Person对象的信息。 这只是一个简单的例子,实际上电话簿系统可能需要更多的功能和数据。不过这个例子可以帮助你理解如何在Java中实现接口、方法和类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值