我目前有3个类,一个包含GUI的主类,fnameTxtField
,一个包含数据的客户类,以及一个从客户类收集数据的customerList
类,并且它成为一个数组列表。
答案 0 :(得分:1)
快速修复:重构您的方法以获得以下签名public void searchCustomer(String text) { ... }
并将其调用
searchCustome(fnameTxtField.getText())
。
然后你可以在你的方法中使用变量“text”,所以行
if (search.returnFamilyName().equals(fnameTxtField.getText))
更改为
if (search.returnFamilyName().equals(text))
(或者根本没有任何参数,并将[可能]缺少的括号添加到fnameTxtField.getText
)
答案 1 :(得分:0)
在使用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;
}
}
}
然后在调用(方法调用)指定您要在文本字段中使用该值:
//...
searchCustomer(fnameTxtField.getText());