Question
Hello, I need your help to work on the comment sections: AddressBook import java.util.ArrayList; import java.util.List; public class AddressBook { //Field for the list of
Hello,
I need your help to work on the comment sections:
AddressBook
import java.util.ArrayList;
import java.util.List;
public class AddressBook {
//Field for the list of addresses
// List goes here
// Constructor
public Address add(Address addr) {
// add the address to the list
//it want us to return an address so let's return the one they gave us
return addr;
}
public Address get(int index) {
// get the "index" from the list
// Check that the list has an item that index (i.e. index < size)
// get it and return it
return null;
}
public List
getAll() {// return a copy of the list - see the coding standards
return new ArrayList<>();
}
public Address update(int index, Address addr) {
// check index < size
// update that element in the list
return addr;
}
public Address remove(int index) {
// check index is < size
// remove the element and return it
return null;
}
}
CommandReader
package ict4300.week5;
import java.io.PrintWriter;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CommandReader {
private static final int LENGTH = 7;
private final Scanner scanner;
private final PrintWriter output;
public CommandReader(Reader input, PrintWriter output) {
scanner = new Scanner(input);
scanner.useDelimiter(System.lineSeparator());
this.output = output;
}
public Command readNext() {
String command;
do {
output.print("Please enter the command [create, get, list, update, remove, exit]: ");
output.flush();
command = scanner.next();
if (command.toLowerCase().equals("list")) {
return new ListAddresses();
}
if (command.toLowerCase().equals("get")) {
return new GetAddress(getNumber());
}
if (command.toLowerCase().equals("remove")) {
return new RemoveAddress(getNumber());
}
if (command.toLowerCase().equals("create")) {
return new CreateAddress(getArgs());
}
if (command.toLowerCase().equals("update")) {
return new UpdateAddress(getNumber(), getArgs());
}
} while (!command.toLowerCase().equals("exit"));
return null;
}
private List
List
output.println("Please enter the address as name, street, city, state, zip, phone, email: ");
output.flush();
String line = scanner.next();
for (String arg : line.split(", *")) {
args.add(arg);
}
while (args.size() < LENGTH) {
args.add("");
}
return args;
}
private int getNumber() {
output.print("Which address? Please enter a number: ");
output.flush();
return scanner.nextInt();
}
}
CreateAddress
import java.util.List;
public class CreateAddress extends Command {
public CreateAddress(List
// TODO Auto-generated constructor stub
// Create new address from args
// save it as a field
}
@Override
public String runCommand(AddressBook addressbook) {
// TODO Auto-generated method stub
// call addressBook.add with new address
//return Address.getAddress
return null;
}
}
UpdateAddress
import java.util.List;
public class UpdateAddress extends Command {
public UpdateAddress(int number, List
// TODO Auto-generated constructor stub
}
@Override
public String runCommand(AddressBook addressbook) {
// TODO Auto-generated method stub
return null;
}
}
AddressBookMain
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class AddressBookMain {
public static void main(String[] args) {
AddressBook addressBook = new AddressBook();
CommandReader commandReader =
new CommandReader(new InputStreamReader(System.in), newPrintWriter(System.out));
// loop indefinitely calling CommandReader.readNext()
// until that returns null
// when we have a Command from it we call runCommand(AddressBook)
// That returns a string so we should probably print it out so the user know what we did
}
}
AddressBookTest
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class AddressBookTest {
private AddressBook addressBook;
@BeforeEach
public void setUp() {
addressBook = new AddressBook();
}
@Test
void testNewAddressBookHasSizeZero() {
// I want getAll on a new address book to return empty list
List
addresses = addressBook.getAll();assertEquals(addresses.size(), 0);
}
@Test
void testAddress() {
List
args.add("Wale");
Address addr = new Address(args);
Address added = addressBook.add(addr);
assertEquals(added, addr);
List
addresses = addressBook.getAll();assertEquals(1, addresses.size());
assertEquals(addr, addressBook.get(0));
}
}
RemoveAddress
public class RemoveAddress extends Command {
public RemoveAddress(int number) {
// TODO Auto-generated constructor stub
}
@Override
public String runCommand(AddressBook addressbook) {
// TODO Auto-generated method stub
return null;
}
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started