Java地址簿。如何防止代码中重复的联系人?
这是用于保留重复ID的代码。
public void addContact(Person p) { for(int i = 0; i < ArrayOfContacts.size(); i++) {Person contact = ArrayOfContacts.get(i);if(contact.getID() == p.getID()) { System.out.println('Sorry this contact already exists.'); return; // the id exists, so we exit the method. } } // Otherwise... you’ve checked all the elements, and have not found a duplicate ArrayOfContacts.add(p);}
如果您想更改此代码以保留重复的名称,请执行以下操作
public void addContact(Person p) { String pName = p.getFname() + p.getLname(); for(int i = 0; i < ArrayOfContacts.size(); i++) {Person contact = ArrayOfContacts.get(i);String contactName = contact.getFname() + contact.getLname(); if(contactName.equals(pName)) { System.out.println('Sorry this contact already exists.'); return; // the name exists, so we exit the method. } } // Otherwise... you’ve checked all the elements, and have not found a duplicate ArrayOfContacts.add(p);}解决方法
switch(menuChoice) {case 1: System.out.println('Enter your contact’s first name:n'); String fname = scnr.next(); System.out.println('Enter your contact’s last name:n'); String lname = scnr.next(); Necronomicon.addContact(new Person(fname,lname)); break;// main truncated here for readability
import java.util.ArrayList;public class AddressBook { ArrayList<Person> ArrayOfContacts= new ArrayList<Person>(); public void addContact(Person p) { ArrayOfContacts.add(p); /* for(int i = 0; i < ArrayOfContacts.size(); i++) { if(ArrayOfContacts.get(i).getID() != p.getID()) ArrayOfContacts.add(p); elseSystem.out.println('Sorry this contact already exists.'); } */ }}
public class Person { private String fName = null; private String lName = null; private static int ID = 1000; public Person(String fName,String lName) { // Constructor I’m using to try and increment the ID each time a Person object is created starting at 1001. this.fName = fName; this.lName = lName; ID = ID + 1; }}
我正在尝试创建一个通讯录,其中每个联系人都有一个名字,姓氏和唯一的ID。
我的问题是如何防止用户输入具有相同名字和姓氏的重复联系人?我应该在addContact方法中还是在main中实现某种检查?怎么样?
相关文章:
1. javascript - 微信小程序中设置头像 里面的图片路径是怎么解决的 我把接口生成的路径存到数据库中 2次访问时就显示不出来了2. javascript - 我写的href跳转地址不是百度,为什么在有的机型上跳转到百度了,有的机型跳转正确3. angular.js - react的redux和vue的vuex,angular呢4. angular.js - vue/react 渲染内容抖动5. 新手学习vue和node.js的困惑6. python - 如何用openpyxl在现有的excel文件中写入数据7. objective-c - IOS 如何实现网易云音乐选择头像的ImagePicker8. 我设置的背景怎么显示不出来9. android - 有没有人做过类似支付宝那种汇率换算功能的?10. 在使用Vim编辑Python这类的脚本时,如何在下方嵌入一个小小的shell,以方便观察输出结果?
