В настоящее время у меня есть 3 класса, основной класс, содержащий графический интерфейс, и fnameTxtField
, класс клиента, содержащий данные, и класс customerList
, который собирает данные из класса клиентов и помещает их в список массивов ,Поиск ArrayList
ответ
Где вы используете fnameTxtField.getText
, Java ждет вас от dec lare параметр метода (вроде как объявление переменной). Параметр - это информация о том, что ваш метод сказал об одном конкретном исполнении, вместо того, чтобы самостоятельно узнать.
Таким образом, вы правы, думая, вы хотите что-то вроде этого:
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;
}
}
}
Тогда в точке вызова (метод вызова) указать, что вы хотите использовать значение в текстовом поле:
//...
searchCustomer(fnameTxtField.getText());
Быстрое исправление: переформулируйте свой метод, чтобы иметь следующую подпись public void searchCustomer(String text) { ... }
и позвоните по номеру searchCustome(fnameTxtField.getText())
. Тогда вы могли бы использовать переменную «текст» в методе, так что линии
if (search.returnFamilyName().equals(fnameTxtField.getText))
изменения
if (search.returnFamilyName().equals(text))
(или не имеют каких-либо параметров на всех и добавить [вероятно] отсутствующих скобок до fnameTxtField.getText
)
Вопрос для меня не имеет смысла. –
Что такое 'searchCustomer (fnameTxtField.getText)' и откуда вы знаете 'customer.returnID()' количество элементов в 'search'? Вы уверены, что 'fnameTxtField.getText' не должен быть' fnameTxtField.getText() '? Вы уверены, что он даже компилируется? –
Вы вообще не описали проблему или не объяснили, что означает 'returnID()'. Пожалуйста, прочитайте http://tinyurl.com/so-hints. Я также предлагаю вам начать следовать соглашениям об именах Java. –