2013-08-18 109 views
0

我想將來自JTextField的輸入與字符串數組列表中的所有元素進行比較。如果輸入與列表中的元素相同,我希望程序通過說「這是我的詞彙表」來承認,如果不是,我希望程序說「這不在我的詞彙表中。 「在我的代碼中,我試圖讓這個工作買我總是收到消息「這不在我的詞彙量。」即使輸入與我列表中的元素匹配。我怎樣才能使這個工作正常?將輸入與對象數組列表進行比較

這是我的代碼,其中AI是正在比較的列表。

package Important; 

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JTextField; 
import AI.*; 

public class TextActions implements ActionListener{ 

private String hero; 
private Vocabulary vocab1 = new Vocabulary(); 

public void actionPerformed(ActionEvent e) { 

    e.getSource(); 
    hero = e.getActionCommand(); 

    if (vocab1.Adjectives.equals(hero)){ 
     System.out.println("This word is in my vocab"); 
    }else{ 
     System.out.println(hero + " is not in my vocab"); 
    } 
    //CompareWords(hero); 
} 

public void CompareWords(String readme){ 

    if (vocab1.Adjectives.contains(readme)){ 
     //System.out.println("This word is in my vocab"); 
    } 
} 

} 

這裏是詞彙類的要求。

package AI; 

import java.util。*;

公共類詞彙{

//String[] thoughts; 
public List<String> Adjectives = new ArrayList<String>(); 


public void AddWord(int ArrayListNumber, String WordEntered){ 

    if(ArrayListNumber == 1){ 
    Adjectives.add(WordEntered); 
    } 
} 

}

+1

你能分享你的詞彙課嗎? –

+1

它看起來像你在整個列表對象 – giorashc

+0

正在調用等於。請接受答案粘土 – rozar

回答

0

您正在創建新的對象

Vocabulary vocab1 = new Vocabulary(); 

這將包含一個空的形容詞列表。 所以,你有你做檢查之前如下

vocab1.Adjectives.contains(hero) 

和使用包含的不是等於先填入形容詞列表。

+0

好吧,我改變了等於包含,並由於某種原因,我仍然得到「這不是我的詞彙量」的消息。 –

+0

你可以分享詞彙課嗎? – rozar

+0

確保vocabl.Adjectives不爲空。因爲從上面的代碼可以看出,對於每一個動作,你正在創建一個新的實例詞彙表對象,並且形容詞列表必須已經填充到詞彙類中 – rozar