Поиск в ArrayList - PullRequest
       7

Поиск в ArrayList

0 голосов
/ 03 января 2012

В настоящее время у меня есть 3 класса, основной класс, содержащий GUI, и fnameTxtField, класс customer, содержащий данные, и класс customerList, который собирает данные из класса customer и помещает их в массив список.

Ответы [ 2 ]

1 голос
/ 03 января 2012

Быстрое исправление: рефакторинг вашего метода, чтобы иметь следующую подпись public void searchCustomer(String text) { ... } и вызвать его с searchCustome(fnameTxtField.getText()). Тогда вы можете использовать переменную «text» в вашем методе, поэтому строка

if (search.returnFamilyName().equals(fnameTxtField.getText))

изменяется на

if (search.returnFamilyName().equals(text))

(Или вообще не иметь никаких параметров и добавить [вероятно] пропущенные скобки в fnameTxtField.getText)

0 голосов
/ 03 января 2012

Если вы используете fnameTxtField.getText, Java ожидает, что вы объявите параметр метода (что-то вроде объявления переменной).Параметр - это информация, о которой вашему методу сообщается для одного конкретного выполнения, вместо того, чтобы выяснять это самостоятельно.

Итак, вы правы, думая, что хотите что-то вроде этого:

public void searchCustomer(String familyName) {
    for (int i = 0; i < customer.returnID(); i++) {
        customer search = search.get(i);
        if (search.returnFamilyName().equals(familyName)) {
            System.out.println("Index: " + i);            
            //removed  return i;
            return;
        }
    }
}

Затем в точке invocation (вызов метода) укажите, что вы хотите использоватьзначение в текстовом поле:

//...
searchCustomer(fnameTxtField.getText());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...