This is my class for Address Book Entry
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
}
THESE ARE THE 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;
}
THIS IS THE CUSTOM METHODS
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");
}
}
NOW THIS IS THE CLASS FOR THE ADDRESSBOOK
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;
}
}
How can I create a class address book that has a limit of 100 entries of AddressBookEntry objects using the given code above using arrays? While it includes a menu: AddEntry, DeleteEntry, ViewAllEntries, and UpdateEntry?
If you want fixed-sized you should use an array instead of List. If for some reason you cannot change the list, you can provide the size to the ArrayList constructor.
public AddressBook() {
this.listOfEntries = new ArrayList<>(100);
}
However, you need to check the size before inserting the element.
public void add(AddressBookEntry addressBookEntry) {
if(this.listOfEntries.size() <= 100)
this.listOfEntries.add(addressBookEntry);
else
throw new IllegalStateException("Address book is full");
}