2013-11-13 2 views
0

Код должен иметь возможность ссылаться на два номера библиотеки вместе, а если они равны, удалите заемщика из массива.
Это не позволит мне запустить метод из другого класса, потому что это статический контекст. Я не знаю, как еще это решить.
Вот то, что я до сих пор:Cant get public boolean removeBorrower (String libraryNumber) для работы

public boolean removeBorrower(String libraryNumber) 
{ 
    if(libraryNumber == null) 
     return false; 
    else if(Borrower.getLibraryNumber().equals(libraryNumber))) 
     borrowers.remove(Borrower); 
    return true; 
} 
+2

Можете ли вы предоставить более точное SSCCE? – dosdebug

+0

Что вы хотите сказать, что это не позволит вам? Я не вижу класс Заемщика или переменную с именем Borrower (что было бы неправильным соглашением об именах, но законным) или сообщение об ошибке от компилятора. На самом деле, здесь не хватает кода для компиляции. Просьба представить полный рабочий пример. –

ответ

0

Вы должны передать ссылку на другой Borrower вы хотите сравнить с:

public boolean removeBorrower(String libraryNumber, Borrower otherBorrower) 
{ 
    if(libraryNumber == null) 
     return false; 
    else if(otherBorrower.getLibraryNumber().equals(libraryNumber))) 
     borrowers.remove(otherBorrower); 
    return true; 
} 

Раньше вы были пробуя получить библиотеку номер для общего класса Borrower, который не имеет концептуального смысла. С помощью этого кода у вас есть конкретный человек, чтобы проверить номер библиотеки.

+0

Исправлена ​​ошибка, с которой я столкнулся с 'remove()' только сейчас. –

0

Вам необходимо получить экземпляр класса, содержащего метод removeBorrower.

Я не думаю, что вы не можете запустить метод из другого класса (если метод не содержится в классе private-class, а класс клиента не является частью одного и того же пакета).

Возможно, вы хотели сказать, что вам не разрешено запускать этот метод без ссылки на существующий экземпляр класса, содержащего метод removeBorrwer.

Смежные вопросы