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;
}
}