我有许多方法需要实现我的 add 方法,但是我不知道如何去做,因为所有方法都在同一个类中 - ArrayPhoneDirectory。
添加方法:
private void add(String name, String telno) {
if (size >= capacity)
{
reallocate();
}
theDirectory[size] = new DirectoryEntry(name, telno);
size = size +1;
}
以下是需要添加调用的方法:
负载:
public void loadData(String sourceName) {
Scanner scan = new Scanner(sourceName).useDelimiter("\\Z");
while (scan.hasNextLine()) {
String name = scan.nextLine();
String telno = scan.nextLine();
DirectoryEntry newdir = new DirectoryEntry(name, telno);
//ADD THE NEW ENTRY TO THE DIRECTORY
}
}
addChangeEntry:
public String addChangeEntry(String name, String telno) {
for (DirectoryEntry x : theDirectory) {
if (x.getName().equals(name)) {
x.setNumber(telno);
return x.getNumber();
} else {
// add a new entry to theDirectory using method add
}
}
return null;
}
这可能是非常明显的事情,但是我对java仍然相当新,所以对于如何调用这些方法的任何帮助都将非常感激!
答案 0 :(得分:0)
您只需致电add(name, telno)
即可。
实际上,您的add
方法是私有的,因此只能从内部类中调用它。
例如,在您的加载方法中:
public void loadData(String sourceName) {
Scanner scan = new Scanner(sourceName).useDelimiter("\\Z");
while (scan.hasNextLine()) {
String name = scan.nextLine();
String telno = scan.nextLine();
// You don't need this, add builds its own DirectoryEntry from name and telno
// DirectoryEntry newdir = new DirectoryEntry(name, telno);
add(name, telno);
}
}
你可以在addChangeEntry