我正在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();
}
}
答案 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
如果你得到一个空指针,这意味着你正在访问一个不存在/尚未声明的变量。