Java 通讯录管理系统 简易版(hashmap)

                                                通讯录管理系统(java)

           本程序使用java编写,主要用到了Myhashmap类(使用了自己编写的Mypair),读者可以换成Hashmap,这样就可以运行了,整体非常简单。

运行结果如下:

Java 通讯录管理系统 简易版(hashmap)_第1张图片

代码:

package DS1;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;

public class Contactsmap {
	
	Myhashmap<String, String> map = new Myhashmap<String, String>(100);//建一个新的myhashmap
	String[] keynum = new String[100];																	 //记录所有人的姓名信息
	int length = 0;																									 //联系人的数量
	Scanner scanner = new Scanner(System.in);					

	public void print(String s) {
		System.out.println("姓名     " + "性别     " + "电话号码     " + "电子邮件");	//查询结果输出
		System.out.println("-------------------------------------------------");
		System.out.print(s + "       ");
		System.out.println(map.get(s));
	}

	public void add() {																								//添加联系人
		System.out.print("请输入姓名:");
		String name = scanner.next();																		//以姓名为索引添加
		System.out.print("请输入性别:");
		String se = scanner.next();
		System.out.print("请输入电话号码:");
		String num = scanner.next();
		System.out.print("请输入电子邮件:");
		String email = scanner.next();
		String phone = se + "     " + num + "     " + email;										//性别、电话号码、电子邮件放到同一个字符串进行处理
		map.add(name, phone);																				//添加到Myhashmap
		keynum[length++] = name;																			//联系人数量加一,存进列表中
		System.out.println("添加成功");
	}

	public void search() {																							//查询联系人
		if (map.isEmpty()) {
			System.out.println("通讯录为空,请先添加联系人");
		} else {
			System.out.println("请输入要查询人的姓名:");
			String name1 = scanner.next();
			print(name1);
		}
	}

	public void remove() {																						//删除联系人
		if (map.isEmpty())
			System.out.println("通讯录为空");
		System.out.print("请输入要删除的姓名:");
		String deletName = scanner.next();
		for (int i = 0; i < length; i++)
			if (keynum[i].equals(deletName)) {
				map.remove(deletName);
				System.out.println("删除成功");
				length--;
				return;
			}
		System.out.println("用户不存在!");
	}

	public void update() {																						//修改联系人
		System.out.print("请输入您要修改的通讯人的姓名:");
		String updateName = scanner.next();
		for (int i = 0; i < length; i++){
			if (keynum[i].equals(updateName)) {
				map.remove(updateName);
				System.out.print("请输入修改后的通讯人姓名:");
				String name = scanner.next();
				System.out.print("请输入修改后的通讯人性别:");
				String se = scanner.next();
				System.out.print("请输入修改后的通讯人电话号码:");
				String num = scanner.next();
				System.out.print("请输入修改后的通讯人电子邮件:");
				String email = scanner.next();
				String phone = se + "     " + num + "     " + email;
				map.add(name, phone);
				keynum[i] = name;
				System.out.println("修改成功");
				return;
			}
		}
		System.out.println("用户不存在!");
	}

	public void save() throws FileNotFoundException {									//保存修改的记录到text.txt
		FileOutputStream fs = new FileOutputStream(new File("text.txt"));
		PrintStream p = new PrintStream(fs);
		p.println("姓名     " + "性别     " + "电话号码     " + "电子邮件");
		p.println("-------------------------------------------------");
		int it = 0;
		while (it < length) {
			if (map.get(keynum[it]) != null) {
				p.print(keynum[it] + "       ");
				p.println(map.get(keynum[it]));
			}
			it++;
		}
		p.close();
		System.out.println("保存成功");
	}

	public void message() throws FileNotFoundException {						//主操作函数
		while (true) {
			System.out.println("请输出1~6的数字:1.添加	 2.查询	3.删除 	4.修改 	5.保存	 6.退出");
			char[] choose = scanner.next().toCharArray();
			if (choose.length > 1) {
				System.out.println("只能输入1-6的数字");
			} else {
				switch (choose[0]) {
				case '1':
					add();
					break;

				case '2':
					search();
					break;

				case '3':
					remove();
					break;

				case '4':
					update();
					break;

				case '5':
					save();
					break;

				case '6':
					System.out.println("您已退出操作!");
					return;

				default:
					break;
				}
			}
		}
	}
}


你可能感兴趣的:(java,数据结构,HashMap,通讯录,简易)