java电话本小项目
- 使用java搭建一个简单的电话本小项目
-
- 实现验证类的方法
- 实现App类的方法
- 实现 核心业务类Operate内的方法
-
- 实现用户添加记录业务逻辑方法 addLogic()
- 实现户查询记录业务逻辑方法 searchLogic()
- 实现修改记录业务逻辑方法 modifyLogic()
- 实现删除记录业务逻辑方法 deleteLogic()
- 排序记录业务逻辑方法 OrderLogic()
- 实现添加记录业务功能 addOperation()
- 实现查询全部业务功能 showAll()
- 实现按姓名查找记录业务功能 searchByName()
- 按年龄,性别,地址,电话去查询业务的功能 searchByAge() searchBySex() searchByTelNum() searchByAdd()
- 实现修改指定记录的功能 modifyOperation()
- 实现删除指定记录的功能 deleteOperation()
- 实现删除全部记录的功能 deleteAllOperation()
- 实现排序
- 运行结果:
- 以上,是电话本项目的搭建运行流程,如有需要源码,请留言
- 如何将这个电话本项目导出为bat快捷运行
使用java搭建一个简单的电话本小项目
实现验证类的方法
对 数据校验类TelNoteRegex 内的菜单项的验证
对输入的数字进行判断,定义一个通用的方法
/**
* 对菜单输入的选项进行验证
*/
public int menuItemValidate (int min, int max ){
//定义验证菜单项的正则表达式
String regex = "[1-9]{1}";
//创建键盘输入对象
Scanner scanner = new Scanner(System.in);
//不知道需要输入多少次才可以输入正确,所以使用一个死循环去判断
while (true){
System.out.println("提示:请输入正确的数字,最小是:"+min+"\t"+"最大是:"+max);
String input = scanner.nextLine();
if (input.matches(regex)){
//进入if说明用户输入的内容是合法的
//将输入的内容从String类型转为int类型
int inputNum = Integer.parseInt(input);
if (inputNum>=min && inputNum<=max){
return inputNum;
}else{
System.out.println("您输入的菜单项不符,请您重新输入...");
}
}else{
//输入内容不合法,给予提示
System.out.println("抱歉,您输入的内容不符合规定,请您重新输入...");
}
}
}
对姓名的验证
/**
* 对用户输入姓名的验证
* 字母可以是大写或者小写 长度为1-10之间的
*/
public String nameValidate (){
//验证姓名的正则表达式
String regex = "[a-zA-Z]{1,10}";
//创建Scanner对象
Scanner scanner = new Scanner(System.in);
while (true){
System.out.println("请输入姓名,格式为:1-10之间的大写或者小写的字母");
String input = scanner.nextLine();
if (input.matches(regex)){
return input;
}else{
System.out.println("您当前输入的姓名有误,请您重新输入");
}
}
}
对年龄的验证
/**
* 对用户输入年龄的验证
* 年龄的格式要求:10-99之间的
*/
public String ageValidate (){
//对年龄校验的正则表达式
String regex = "[1-9]{1}[0-9]{1}";
//创建键盘输入对象
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入年龄:格式为10-99之间");
String input = scanner.nextLine();
if (input.matches(regex)){
return input;
}else{
System.out.println("您输入的年龄格式有误,请您重新输入");
}
}
}
对性别的验证
/**
* 对用户输入性别的验证
* 性别的输入要求:男(m或M)女(f或F)
* @return
*/
public String sexValidate (){
String regex = "[m|M|f|F]{1}";
Scanner scanner = new Scanner(System.in);
while (true){
System.out.println("请输入性别:格式为 男(m或M)女(f或F)");
String input = scanner.nextLine();
if (input.matches(regex)){
return input;
}else {
System.out.println("输入性别格式有误,请您重新输入");
}
}
}
对电话号码的验证
/**
* 对用户输入电话号码的验证
* 电话号码要求:允许带有区号的座机号,允许手机号
*/
public String telNumValidate() {
//对电话号码验证的正则表达式 \d){3,4}-\d{7,8}是座机号 [1]{1}\d{10}是手机号
String regex = "(\\d{3,4}-\\d{7,8})|([1]{1}\\d{10})";
Scanner scanner = new Scanner(System.in);
while (true){
System.out.println("请输入电话号码,座机号和手机号均可");
String input = scanner.nextLine();
if (input.matches(regex)){
return input;
}else{
System.out.println("输入的电话号码有误,请您重新输入");
}
}
}
对地址的验证
/**
* 对用户输入地址的验证
* 地址格式要求:字母或者数字,长度1,50
*/
public String addressValidate() {
//对地址验证的正则表达式
String regex = "\\w{1,50}";
Scanner scanner = new Scanner(System.in);
while (true){
System.out.println("请输入地址:格式为字母或者数字长度为1到50");
String input = scanner.nextLine();
if (input.matches(regex)){
return input;
}else {
System.out.println("您输入的地址有误,请您重新输入");
}
}
}
至此,我们对验证类内的方法定义完毕,可以进行一个简单的测试
在TelNoteRegex类内调用main方法进行测试:
public static void main(String[] args) {
TelNoteRegex regex = new TelNoteRegex();
//测试一下当前对于菜单项验证的方法
int menuItem = regex.menuItemValidate(1,6);
System.out.println(menuItem);
String name = regex.nameValidate();
System.out.println(name);
}
请自行验证其他方法的是否可行
实现App类的方法
实现start方法
//控制主菜单
public void start(){
//实例化菜单类
Menu menu = new Menu();