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;

导入 java.util.*;

公共类词汇{

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


public void AddWord(int ArrayListNumber, String WordEntered){

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

}

4

1 回答 1

0

您正在创建新对象

Vocabulary vocab1 = new Vocabulary();

这将包含一个空的形容词列表。因此,您必须先填充形容词列表,然后再进行如下检查

vocab1.Adjectives.contains(hero) 

并使用包含而不是等于。

于 2013-08-18T07:01:28.710 回答