2014-04-09 194 views
0

我有一些方法需要实现我的添加方法,但是我不知道如何去做这件事,因为所有的方法都是相同的类 - 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; 
} 

它是probabl y一些非常明显的东西,但是我对java还是比较新的,所以对于如何调用这些方法的帮助将非常感谢!

+1

@tod做同样的,我认为他是问如何称呼它。 – StephenButtolph

回答

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

+0

完美,非常感谢! –

相关问题