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

问题描述 投票:-3回答:2

我正在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();
    }
}
java arrays string nullpointerexception equals
2个回答
0
投票

尝试“.contains”

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

0
投票

您还可以使用indexOf> 0进行检查。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.