import java.util.Scanner;
//作者:梁成岗,写于2020年12.25日。第一个小项目java
//人脉软件
public class demo02{
	//需要有一个容器,存放联系人  ---数组
	static String[] names =new String[10];
	static Scanner scan = new Scanner(System.in); //创建一个Scanner类型的对象,使用此对象接收用户通过键盘输入的信息;
	static int index =0;
	public static void main(String[] args) {
			int val = menu();
			while(true) {
				if(val==1) {
					addUers();
				}
				if(val==2) {
					removeUers();
				}
				if(val==3) {
				updateUers();
				}
				if(val==4) {
					System.out.println("你选择了查找操作 ");
				}
				if(val==5) {
					System.out.println("你选择了导入操作 ");
				}
				if(val==6) {
					displayUers();
				}
				if(val==7) {
					System.out.println("你选择了批量删除操作 ");
				}
				if(val==8) {
					System.out.println("确认退出系统吗(Y/N)?");
					String comfirm = scan.next();
					if("Y".equals(comfirm)){
						System.out.println("您已安全退出系统");
						break;
					}
					
				}
				System.out.println("请选择其它操作,回车确认");
				val = scan.nextInt();
				
			}
	}
	private static void removeUers() {
       System.out.println("请输出要删除的联系人姓名,回车确认.");
       String name=scan.next();
       int rindex = findUserByName(name);
		if(rindex!=-1) { //存在;
			for(int j=rindex;j<index-1;j++) {
				names[j] = names[j+1];
			}
			index--;
		}else {
			System.out.println("查无此人");
		}
	}
	private static int findUserByName(String name) {
		for(int i=0;i<=index;i++) {
			if(names[i].equals(name)==true){
				return i;
				}
		}
		return -1;
	}
	private static void updateUers() {
		System.out.println("请输入要修改的联系人姓名,回车确认");
		String findName= scan.next();
		int findex = findUserByName(findName);
		if(findex==-1) {
			System.out.println("查无此人,修改失败.");
		}else {
			System.out.println("请输入新的姓名,回车确认.");
			names[findex]=scan.next();
		}
	}
		
	private static void addUers() {
		if(index==names.length) {
			System.out.println("容器满,请删除部分联系人再添加.....");
//The System class contains several useful class fieldsand methods. It cannot be instantiated
			return;
		}
		System.out.println("请输入姓名,回车确认.");
		String name =scan.next();
		names[index]=name;
		index++;
	}
	private static void displayUers() {
		if(index==0) //如果它=0,那么就完事了;
		{
			System.out.println("通讯录为空.");
			return;//结束代码运行;
		}

		for(int i=0;i<index;i++) {
			//他不=0,那么就要循环执行任务,直到跳出这个循环
			System.out.print(names[i] +" ");
		}
		System.out.println();
		/*以java为例,system.out.println是将内容输出到屏幕上,并且换行。
		*而system.out.println()则是打印一个空白行。
		*System.out.println这句的主要作用就是用来输出一些信息, 比如变量值,字符串的值等等。
		*简单点就是用来显示的。所以并不是总要用这一句, 你代码如果有需要才用*/
	}
	public static int menu() { //ALT+上下箭头
		System.out.println("\t\t\t人脉系统");
		System.out.println("*******************************************************");
		System.out.println("* 1.添加 \t\t2.删除 \t\t3.修改\t\t4.查找 *");
		System.out.println("* 5.导入/导出 \t\t6.显示 \t\t6.批删\t\t8.退出 *");
		System.out.println("*****************************************************");
		System.out.println("请输入您的操作项,回车确认");
		int input=scan.nextInt();
		return input;
	     }
	}