人物增删改查

这里写自定义目录标题

欢迎使用Markdown编辑器

mport java.util.List;
import java.util.Objects;
import java.util.Scanner;

public class Client {

Scanner input = new Scanner(System.in);
ContactManager cm = new ContactManager();

public void mainMenu() {
	p("**********欢迎使用SOFTEEM-SMART通信录*******");
	p("*\t[1]添加联系人\t\t\t*");
	p("*\t[2]联系人列表\t\t\t*");
	p("*\t[3]根据姓名查询联系人\t\t*");
	p("*\t[4]根据手机号查询联系人\t\t*");
	p("*\t[5]删除联系人\t\t\t*");
	p("*\t[0]退出\t\t\t\t*");
	p("*****************************************");
	p("请输入正确的操作指令:");
	//开始
	start();
}

public void start() {
	String s = input.next();
	if(!s.matches("^[0-5]$")) {
		p("请输入合法的操作指令");
		start();
	}
	switch(s) {
	case "1":
		//添加联系人
		addContact();
		break;
	case "2":
		//联系人列表
		listContact();
		break;
	case "3":
		//查询联系人(by 姓名)
		queryByCondition(1);
		break;
	case "4":
		//查询联系人(by 手机号)
		queryByCondition(2);
		break;
	case "5":
		//删除联系人
		delByNum();
		break;
	case "0":
		//退出
		p("谢谢使用,再见!");
		System.exit(0);
		break;
	}
}

/**
 * 删除联系人
 */
private void delByNum() {
	p("请输入联系人的编号:");
	String num = input.next();
	if(!num.matches("^\\d+$")) {
		p("请输入正确的编号");
		delByNum();
	}else {
		boolean f = cm.del(Integer.parseInt(num));
		if(f) {
			p("删除成功");
		}
		mainMenu();
	}
}

/**
 * 条件查询
 * @param flag
 */
private void queryByCondition(int flag) {
	p("请输入查询关键字");
	String key = input.next();
	List<Contact> list = cm.findByCondition(flag, key);
	//判断集合是否为空
	if(list.isEmpty()) {
		p("未查询到匹配的联系人!");
	}else {
		for(Contact c:list) {
			p(c);
		}
	}
	mainMenu();
}

/**
 * 联系人列表
 */
private void listContact() {
	p("请输入需要显示的联系人页码数和每页条数(按:页码/数据条数):");
	String s = input.next();
	if(!s.matches("\\d{1,3}/\\d{1,3}")) {
		System.out.println("输入的页码或每页条数格式不正确");
		listContact();
	}else {
		String[] nums = s.split("/");
		List<Contact> list = cm.findAll(Integer.parseInt(nums[0]), Integer.parseInt(nums[1]));
		if(Objects.isNull(list)) {
			p("没有更多数据可显示!");
			mainMenu();
		}else {
			for (Contact c : list) {
				p(c); 
			}
			listContact();
		}
	} 
}

/**
 * 添加
 */
private void addContact() {
	p("请输入联系人信息(按:编号/姓名/手机号/qq/邮箱)");
	String s = input.next();
	if(!s.matches("\\d+/.+/1\\d{10}/[1-9]\\d{4,11}/\\w+?@.+?\\.\\w+")) {
		System.out.println("输入信息有误,请重新输入");
		addContact();
	}else {			
		String[] info = s.split("/");
		//根据输入的信息构建联系人对象
		Contact c = new Contact(Integer.parseInt(info[0]), info[1], info[2], info[3], info[4]);
		if(cm.add(c)) {
			p("添加成功!");
			mainMenu();
		}else {
			addContact();
		}
	}
}

public void p(Object msg) {
	System.out.println(msg);
}

public static void main(String[] args) {
	new Client().mainMenu();
}

}
public class Contact {

private int num;
private String name;
private String phone;
private String qq;
private String email;

public Contact() {
	// TODO Auto-generated constructor stub
}

public Contact(int num, String name, String phone, String qq, String email) {
	super();
	this.num = num;
	this.name = name;
	this.phone = phone;
	this.qq = qq;
	this.email = email;
}

public int getNum() {
	return num;
}

public void setNum(int num) {
	this.num = num;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public String getPhone() {
	return phone;
}

public void setPhone(String phone) {
	this.phone = phone;
}

public String getQq() {
	return qq;
}

public void setQq(String qq) {
	this.qq = qq;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

@Override
public String toString() {
	return "Contact [num=" + num + ", name=" + name + ", phone=" + phone + ", qq=" + qq + ", email=" + email + "]";
}

}
public class Contact {

private int num;
private String name;
private String phone;
private String qq;
private String email;

public Contact() {
	// TODO Auto-generated constructor stub
}

public Contact(int num, String name, String phone, String qq, String email) {
	super();
	this.num = num;
	this.name = name;
	this.phone = phone;
	this.qq = qq;
	this.email = email;
}

public int getNum() {
	return num;
}

public void setNum(int num) {
	this.num = num;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public String getPhone() {
	return phone;
}

public void setPhone(String phone) {
	this.phone = phone;
}

public String getQq() {
	return qq;
}

public void setQq(String qq) {
	this.qq = qq;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

@Override
public String toString() {
	return "Contact [num=" + num + ", name=" + name + ", phone=" + phone + ", qq=" + qq + ", email=" + email + "]";
}

}

import java.util.Scanner;

public class Demo {

public static void main(String[] args) {
	
	Scanner sc = new Scanner(System.in);
	String s = sc.nextLine();
	System.out.println("第一次输入:"+s);
	s = sc.nextLine();
	System.out.println("第二次输入:"+s);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值