0


Java实现简单的通讯录

每日一言

泪眼问花花不语,乱红飞过秋千去。 —欧阳修-


简单的通讯录实现,跟写Java实现图书管理系统差不多,用到的知识也差不多,就当个小练习,练习一下写Java程序的手感。

Java实现图书管理系统

关于通讯录的代码都写在下面了

1. 代码

1.1 contact 包

1.1.1 Contact

packagecontact;publicclassContact{privateint size;//当前占用容量privatePerson[] people =newPerson[3];publicintgetSize(){return size;}publicvoidsetSize(int size){this.size = size;}publicPersongetPerson(int pos){return people[pos];}publicvoidsetPerson(Person person,int pos){this.people[pos]= person;}publicBooleanisFull(Contact contact){return contact.getSize()== people.length;}}

1.1.2 Person

packagecontact;publicclassPerson{privateString name;privateString sex;privateint age;privateString telephone;publicStringgetName(){return name;}publicintgetAge(){return age;}@OverridepublicStringtoString(){return"Person{"+"名字='"+ name +'\''+", 性别='"+ sex +'\''+", 年龄="+ age +", 电话='"+ telephone +'\''+'}';}publicPerson(String name,String sex,int age,String telephone){this.name = name;this.sex = sex;this.age = age;this.telephone = telephone;}}

1.2 option 包

1.2.1 AddContact

packageoption;importcontact.Contact;importcontact.Person;importjava.util.Scanner;publicclassAddContactimplementsIOperation{@Overridepublicvoidwork(Contact contact){if(contact.isFull(contact)){System.out.println("通讯录已满,无法添加!");return;}else{Scanner scanner =newScanner(System.in);System.out.println("请输入联系人姓名:>");String name = scanner.nextLine();System.out.println("请输入联系人性别:>");String sex = scanner.nextLine();System.out.println("请输入联系人年龄:>");int age = scanner.nextInt();System.out.println("请输入联系人电话:>");String telephone = scanner.next();Person person =newPerson(name,sex,age,telephone);int size = contact.getSize();
            contact.setPerson(person,size);
            contact.setSize(size+1);System.out.println("添加成功!");}}}

1.2.2 DelContact

packageoption;importcontact.Contact;importjava.util.Scanner;publicclassDelContactimplementsIOperation{@Overridepublicvoidwork(Contact contact){int size = contact.getSize();if(0== size){System.out.println("通讯录为空,无法删除!");return;}else{System.out.println("请输入要删除的联系人姓名");Scanner scanner =newScanner(System.in);String name = scanner.nextLine();for(int i =0; i < size; i++){if(name.equals(contact.getPerson(i).getName())){//删除for(int j = i; j < size-1; j++){
                        contact.setPerson(contact.getPerson(j+1),j);}
                    contact.setSize(size-1);System.out.println("删除成功!");return;}}System.out.println("没有你要删除的联系人!");}}}

1.2.3 ExitContact

packageoption;importcontact.Contact;publicclassExitContactimplementsIOperation{@Overridepublicvoidwork(Contact contact){//释放占用内存for(int i =0; i < contact.getSize(); i++){
            contact.setPerson(null,i);}System.out.println("退出成功!");System.exit(0);}}

1.2.4 FindContact

packageoption;importcontact.Contact;importjava.util.Scanner;publicclassFindContactimplementsIOperation{@Overridepublicvoidwork(Contact contact){int size = contact.getSize();System.out.println("请输入要查找的联系人姓名");Scanner scanner =newScanner(System.in);String name = scanner.nextLine();for(int i =0; i < size; i++){if(name.equals(contact.getPerson(i).getName())){System.out.println(contact.getPerson(i).toString());return;}}System.out.println("没有你要查找的联系人!");}}

1.2.5 IOperation 接口

packageoption;importcontact.Contact;publicinterfaceIOperation{voidwork(Contact contact);}

1.2.6 ModifyContact

packageoption;importcontact.Contact;importcontact.Person;importjava.util.Scanner;publicclassModifyContactimplementsIOperation{@Overridepublicvoidwork(Contact contact){int size = contact.getSize();System.out.println("请输入要修改的联系人姓名");Scanner scanner =newScanner(System.in);String name = scanner.nextLine();for(int i =0; i < size; i++){if(name.equals(contact.getPerson(i).getName())){//修改System.out.println("请输入联系人姓名:>");String name1 = scanner.nextLine();System.out.println("请输入联系人性别:>");String sex = scanner.nextLine();System.out.println("请输入联系人年龄:>");int age = scanner.nextInt();System.out.println("请输入联系人电话:>");String telephone = scanner.next();Person person =newPerson(name1,sex,age,telephone);

                contact.setPerson(person,i);System.out.println("修改成功!");return;}}System.out.println("没有你要修改的联系人!");}}

1.2.7 ShowContact

packageoption;importcontact.Contact;publicclassShowContactimplementsIOperation{@Overridepublicvoidwork(Contact contact){if(0== contact.getSize()){System.out.println("通讯录为空");return;}else{for(int i =0; i < contact.getSize(); i++){System.out.println(contact.getPerson(i).toString());}}}}

1.3 Main

importcontact.Contact;importoption.AddContact;importjava.util.Scanner;publicclassMain{publicstaticintmenu(){System.out.println("*********************");System.out.println("1.新增联系人");System.out.println("2.删除联系人");System.out.println("3.展示联系人");System.out.println("4.查找联系人");System.out.println("5.修改联系人");System.out.println("0.退出通讯录");System.out.println("*********************");System.out.println("请输入选项:>");Scanner scanner =newScanner(System.in);return scanner.nextInt();}publicstaticvoidmain(String[] args){int op;User user =newUser();Contact contact =newContact();do{
            op =menu();if(op > user.iOperation.length || op <0){System.out.println("输入错误!");continue;}
            user.doOperation(contact,op);}while(0!= op);}}

1.4 User

importcontact.Contact;importoption.*;publicclassUser{IOperation[] iOperation =newIOperation[]{newExitContact(),newAddContact(),newDelContact(),newShowContact(),newFindContact(),newModifyContact(),};publicvoiddoOperation(Contact contact,int op){this.iOperation[op].work(contact);}}

2. 效果

2.1 添加联系人

在这里插入图片描述

2.2 展示联系人

在这里插入图片描述

2.3 删除联系人

在这里插入图片描述

2.4 查找联系人

在这里插入图片描述

2.5 修改联系人

在这里插入图片描述

2.6 退出通讯录

在这里插入图片描述


结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(^▽^)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正

标签: java 开发语言

本文转载自: https://blog.csdn.net/qrwitu142857/article/details/136744841
版权归原作者 月临水 所有, 如有侵权,请联系我们删除。

“Java实现简单的通讯录”的评论:

还没有评论