Мне было поручено создать телефонный каталог, который включает использование интерфейсов. Я начал с DirectoryEntry, который определяет get и set методы для имени и номера контактов. Затем мне был предоставлен интерфейс, и теперь его нужно реализовать.
Однако я зациклился на том, как реализовать первый метод, который является loadData:
void loadData(String sourceName);
/** Look up an entry.
@param name The name of person to look up
@return The telno or null if name is not in the directory
*/
Мне дали шаблон псевдокода, но я все еще не уверен, как его подходить, поэтому любая помощь будет очень признательна!
pseudocode stub:
create a Scanner to read file
while (not end of file)
use Scanner to read the name
use Scanner to read the telno
create a DirectoryEntry
add the new entry to theDirectory
close file
Это самое близкое, что я дошел до сих пор, но я все еще думаю, что я здоров:
public loadData (String sourceName)
{
// Creating new scanner object
Scanner scan = new Scanner(sourceName).useDelimiter("\\Z");
while (scan.hasNextLine())
{
scan.findInLine(sourceName);
}
Заранее благодарю за любую помощь.
Подпись метода должна быть недействительной:
public void loadData(String sourceName)
Тем не менее, кажется странным, что для поиска данных используется метод void с именем loadData, поскольку он ничего не возвращает. Вы уверены, что комментарий, который гласит: "Ищите запись", идет с этим методом? Я бы ожидал, что такая сигнатура метода будет соответствовать методу, который берет данные из одного места и помещает его в другое место, вероятно, в поле private (например, некоторую карту).