2012-01-03 82 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