设计一个联系人类,完成一个对联系人增删改查的操作流程,所有的联系人信息存储在ArrayList集合中

利用ArrayList集合和泛型写的一个电话簿功能,内容有点多,感兴趣的要耐心看哦~(*^_^*)

/**
 * 设计一个联系人类,完成一个对联系人增删改查的操作流程,所有的联系人信息存储在ArrayList集合中
 */

public class Contacts {	//信息类
	public String name;

	public String getName() {
		return name;
	}

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

	public int getPhonenumber() {
		return phonenumber;
	}

	public void setPhonenumber(int phonenumber) {
		this.phonenumber = phonenumber;
	}

	public int phonenumber;

	public Contacts() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Contacts(String name, int phonenumber) {
		super();
		this.name = name;
		this.phonenumber = phonenumber;
	}

	@Override
	public String toString() {
		return "姓名:" + name + ", 电话:" + phonenumber ;
	}
}



public class Aggregate {
	public static void main(String[] args) {
		ArrayList<Contacts> listline = new ArrayList<>();
		catalog(listline);
	}

	public static String strinp() { // 输入字符串方法
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		return scanner.nextLine();
	}

	public static int ininp() { // 输入数字方法
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		return scanner.nextInt();
	}

	public static void catalog(ArrayList<Contacts> listline) { // 目录
		System.out.println("联系人");
		while (true) {
			System.out.println("=====================");
			if (listline.isEmpty()) {
				System.out.println("电话簿为空!");
				add(listline);
			} else {
				for (int i = 0; i < listline.size(); i++) { // 查询全部
					System.out.println((i + 1) + ">" + listline.get(i));
				}
				System.out.println("=====================");
				System.out.println("请选择您需要的操作:");
				System.out.println("1>增加联系人");
				System.out.println("2>修改联系人");
				System.out.println("3>查询联系人");
				System.out.println("4>删除联系人");
				System.out.println("5>退出");
				int xuhao = ininp();
				switch (xuhao) {
				case 1:
					add(listline);
					break;
				case 2:
					modify(listline);
					break;
				case 3:
					query(listline);
					break;
				case 4:
					delete(listline);
					break;
				case 5:
					exitsys(listline);
					break;
				default:
					System.out.println("输入错误!");
				}
			}
		}
	}

	public static void add(ArrayList<Contacts> listline) { // 增加联系人
		System.out.println("输入联系人信息:");
		Contacts contacts = new Contacts();
		contacts.setName(strinp());
		contacts.setPhonenumber(ininp());
		listline.add(contacts);
		System.out.println("添加联系人成功!");
	}

	public static void modify(ArrayList<Contacts> listline) { // 修改联系人
		System.out.println("请输入要修改的联系人序号:");
		int a = ininp() - 1;
		System.out.println("请输入修改后的信息:");
		Contacts contacts = new Contacts();
		contacts.setName(strinp());
		contacts.setPhonenumber(ininp());
		listline.set(a, contacts);
		System.out.println("修改联系人成功!");
	}

	public static void query(ArrayList<Contacts> listline) { // 查询联系人
		System.out.println("请输入要查看的联系人序号:");
		int a = ininp() - 1;
		listline.get(a);
	}

	public static void delete(ArrayList<Contacts> listline) { // 删除联系人
		System.out.println("请输入要删除的联系人序号:");
		int a = ininp() - 1;
		listline.remove(a);
		System.out.println("删除序号为" + a + "的联系人成功!");
		if (listline.isEmpty()) {
			System.out.println("电话簿为空,退出电话簿");
			System.exit(0);
		} else {
			System.out.println("将自动排列联系人");
		}
	}

	public static void exitsys(ArrayList<Contacts> listline) {
		System.exit(0);
	}

}

运行结果

猜你喜欢

转载自blog.csdn.net/Ww1554487900/article/details/81389627