在“[Contact.getName()]”的editContact中,我收到错误:
为什么会这样,我该如何解决这个问题?谢谢!
public class ContactList
{
private final int MAX_NUMBER_OF_CONTACTS = 100;
private Contact[] contactList = new Contact[MAX_NUMBER_OF_CONTACTS];
public void addContact(String contactName, String contactNumber,
String contactEmail, String contactAddress)
{
if (Contact.getContactCount() >= MAX_NUMBER_OF_CONTACTS)
{
System.err
.println("Eror: You have too many contacts, delete one of them you fool!");
return;
public int editContact(String contactToEdit)
{
if (editContact(contactToEdit) < 0)
{
return -1;
}
else
contactList[Contact.getName()].setName("");
contactList[Contact.getPhoneNumber()].setPhoneNumber("");
contactList[Contact.getEmail()].setEmail("");
contactList[Contact.getAddress()].setAddress("");
}
}
答案 0 :(得分:1)
下面:
contactList[Contact.getName()]
您正在尝试使用String
来访问数组的索引。数组基于int
索引。
您似乎需要在阵列中搜索要更新的Contact
实例。您可以使用for
循环执行此操作:
int index = 0;
for (Contact contact : contactList) {
//use this or another condition
if (contact.getName().equals(contactToEdit)) {
//update this instance of contact
contact.setName(...);
return index;
}
index++;
}
答案 1 :(得分:0)
我猜您正在尝试清除contactToEdit
int contactIdToEdit = findContactIdForName(contactToEdit);
if (contactIdToEdit < 0)
return;
Contact c = contactList[contactIdToEdit];
c.setName("");
c.setPhoneNumber("");
c.setEmail("");
c.setAddress("");