如何用java创建一个可以包含100个地址簿条目的地址簿



这是我的通讯录输入类

public class AddressBookEntry {
private String firstname;
private String lastname;
private int streetno;
private String street;
private String city;
private int telephonenumber;
private String emailaddress;

public AddressBookEntry(String firstname, String lastname, int streetno,
String street, String city, int telephonenumber, String emailaddress) {
super();
this.firstname = firstname;
this.lastname = lastname;
this.streetno = streetno;
this.street = street;
this.city = city;
this.telephonenumber = telephonenumber;
this.emailaddress = emailaddress;
}

public AddressBookEntry() {
// TODO Auto-generated constructor stub
}

这些是SETTER-GETTER

public String getFirstname() {
return firstname;
}

public void setFirstname(String firstname) {
this.firstname = firstname;
}

public String getLastname() {
return lastname;
}

public void setLastname(String lastname) {
this.lastname = lastname;
}

public int getStreetno() {
return streetno;
}

public void setStreetno(int streetno) {
this.streetno = streetno;
}

public String getStreet() {
return street;
}

public void setStreet(String street) {
this.street = street;
}

public String getCity() {
return city;
}

public void setCity(String city) {
this.city = city;
}

public int getTelephonenumber() {
return telephonenumber;
}

public void setTelephonenumber(int telephonenumber) {
this.telephonenumber = telephonenumber;
}

public String getEmailaddress() {
return emailaddress;
}

public void setEmailaddress(String emailaddress) {
this.emailaddress = emailaddress;
}

这是自定义方法

public String fullName() {
return this.firstname + " " + this.lastname;
}
public String fullAddress() {
return this.streetno + " " + this.street + " st. " + this.city + " city";
}
public void displayAddress(){
System.out.println("Name               : " + fullName());
System.out.println("Address            : " + fullAddress());
System.out.println("Telephone Number   : " + this.telephonenumber);
System.out.println("Email Address      : " + this.emailaddress + "@gmail.com"+"n");
}
}

现在这是地址簿的课程

import java.util.ArrayList;
import java.util.List;
public class AddressBook {
private List<AddressBookEntry> listOfEntries;
public AddressBook() {
this.listOfEntries = new ArrayList<>();
}
public void add(AddressBookEntry addressBookEntry) {
this.listOfEntries.add(addressBookEntry);
}
public void delete(int index) {
this.listOfEntries.remove(index);
}
public AddressBookEntry get(int index) {
return this.listOfEntries.get(index);
}
public AddressBookEntry[] viewAll() {
AddressBookEntry[] result = new AddressBookEntry[this.listOfEntries.size()];
this.listOfEntries.toArray(result);
return result;
}
}

如何使用上面使用数组的给定代码创建一个限制为100个AddressBookEntry对象条目的类地址簿?它包括一个菜单:AddEntry、DeleteEntry、ViewAllEntries和UpdateEntry?

如果您想要固定大小,您应该使用数组而不是List。如果由于某种原因无法更改列表,则可以向ArrayList构造函数提供大小。

public AddressBook() {
this.listOfEntries = new ArrayList<>(100);
}

但是,在插入元素之前需要检查大小。

public void add(AddressBookEntry addressBookEntry) {
if(this.listOfEntries.size() <= 100)    
this.listOfEntries.add(addressBookEntry);
else
throw new IllegalStateException("Address book is full");
}

最新更新