2012-01-03 60 views
0

我目前有3个类,一个包含GUI的主类和fnameTxtField,一个包含数据的客户类,以及一个从客户类收集数据并将其放入数组列表的类(customerList) 。正在搜索一个ArrayList

+5

这个问题对我没有意义。 – 2012-01-03 16:48:02

+2

什么是'searchCustomer(fnameTxtField.getText)',你怎么知道'customer.returnID()'是'search'中元素的个数?你确定'fnameTxtField.getText'不应该是'fnameTxtField.getText()'?你确定它编译? – 2012-01-03 16:49:04

+0

你根本没有真正描述过这个问题,也没有解释returnID()是什么意思。请阅读http://tinyurl.com/so-hints。我还建议你开始遵循Java命名约定。 – 2012-01-03 16:49:41

回答

0

如果您使用的是fnameTxtField.getText,Java会期待您到dec带来一个方法参数(有点像声明一个变量)。一个参数是你的方法是告诉关于一个特定执行的信息,而不是必须自己找出。

那么,你是正确的思维,你想是这样的:

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()); 
1

快速修复:重构您的方法,使其具有以下签名public void searchCustomer(String text) { ... }并用 searchCustome(fnameTxtField.getText())与之联系。 然后,你可以在你的方法使用该变量“文本”,太行

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

变化

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

(或根本没有任何参数,并添加[可能]丢失括号至fnameTxtField.getText