字符串数组不与.equals一起使用

时间:2017-12-21 13:06:31

标签: java arrays string nullpointerexception equals

我正在Swing中制作一个刽子手游戏,我正在研究检查用户输入的值是否在单词中的部分。我已将单词的每个字母放入数组中。但是,当我输入一个我知道的字母时,它会输出它不是一个字母。使用.contains会创建错误消息。

与以下问题相关的代码。

private void checkcorrect() {
    for (int i = 0; i < word.length(); i++) {
        System.out.println(i);
        if(wordch[i].equals(inputString)) {
            System.out.println("Success");
            letter = true;
        }
    }

    if(letter==true) {
        System.out.println("Was a letter");
    }else {
        System.out.println("Not a letter");
    }
}

private class TextFieldListener implements ActionListener{  
    public void actionPerformed(ActionEvent evt){ 
        String inputString = userInput.getText();
        userInput.setText("");
        System.out.println(inputString );
        checkcorrect();
    }
}

2 个答案:

答案 0 :(得分:0)

尝试“.contains”

    String word = "test";
    String[] letter = { "t"};
    boolean hasTheLetter = word.contains(letter[0]);
    System.out.println(hasTheLetter);

答案 1 :(得分:0)

您还可以使用indexOf&gt;进行检查。 0

String word = "abcdef";
String[] letter = {"d"};

boolean foundLetter = (word.indexOf(letter[0]) > 0);
if (foundLetter)
    // something

如果你得到一个空指针,这意味着你正在访问一个不存在/尚未声明的变量。