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);
else
System.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。Java地址簿。如何防止我的代碼中重複的聯繫人?
我的問題是如何防止用戶輸入具有相同名字和姓氏的重複聯繫人?我應該在addContact方法中執行某種檢查嗎?還是在main中執行?怎麼樣?
難道你不應該阻止添加相同的ID嗎?普通地址簿有重複的名字 –
好點。這可能是更好的方法。也許我可以使用HashSet並只使用用戶ID來防止重複。 –
你可以使用'HashMap' –