每日一言
泪眼问花花不语,乱红飞过秋千去。 —欧阳修-
简单的通讯录实现,跟写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 退出通讯录
结语
请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!
都看到这里啦!真棒(^▽^)
可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家
编程小白写作,如有纰漏或错误,欢迎指正
版权归原作者 月临水 所有, 如有侵权,请联系我们删除。