我的某个课程的挑战作业有点问题。此代码应该按联系人的名称列出数组列表中包含的所有联系人。我创建了一个子类Contact,其中包含联系人的号码和号码。
我遇到的问题是输出联系人的姓名。而不是预期的"联系号码"其次是名字,我只得到号码。该类的另一个getter工作,如果我在for循环中将.getName()
更改为.getNumber()
,它将具有"联系人号码的预期输出"然后是存储在联系人中的实际号码。
private void storeContact() {
Contact contact = new Contact();
System.out.println("Please enter a contact name.");
contact.setName(scanner.nextLine());
scanner.next();
System.out.println("Please enter the phone number for the contact");
contact.setNumber(scanner.nextLong());
contacts.add(contact);
}
private void listAllContact(){
if(contacts.size() != 0) {
for (int i = 0; i < contacts.size(); i++) {
System.out.println((i + 1) + contacts.get(i).getName());
}
}else{
System.out.println("Contact book is empty.");
}
}
联系班级:
class Contact{
private long number;
private String name;
public long getNumber() {
return number;
}
public void setNumber(long number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
答案 0 :(得分:4)
由于您没有提供完整的示例,我试图推断它
static List<Contact> contacts = new ArrayList<>();
public static void main(String[] args) {
Contact contact = new Contact();
contact.setNumber(-17);
contact.setName("contact name");
contacts.add(contact);
listAllContact();
}
private static void listAllContact() {
if (contacts.size() != 0) {
for (int i = 0; i < contacts.size(); i++) {
System.out.println((i + 1) + contacts.get(i).getName());
}
} else {
System.out.println("Contact book is empty.");
}
}
static class Contact {
private long number;
private String name;
public long getNumber() {
return number;
}
public void setNumber(long number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
输出符合预期
1联系人姓名
答案 1 :(得分:0)
您提供的代码似乎没问。
问题应该是您设置姓名和电话号码时。
如果您提供,我们可以搜索问题。