如何查看字符串数组中的元素是否包含某个字母?我需要它为刽子手。使用的单词数组是单词。 continueGame()是我放这个的地方。我以为我可以得到我的随机词,然后找出那封信是否在那个随机词中。我该怎么做?
public void continueGame(){
letterSelected = JOptionPane.showInputDialog(null, "Take another guess!");
if(getWords().indexOf(getWords()) == (letterSelected)){
}
if(! getWords().contains(letterSelected)){
guesses++;
continueGame();
}else{
System.out.println(letterSelected);
}
checkBodyParts();
JOptionPane.showInputDialog(null, "");
}
#
/**Get the random word from the array*/
public String getWords (){
String randomWord = words[randy.nextInt( words.length)];
return randomWord;
}
/**Get the indexes of the letter of the random word indices don't start with 1*/
public String getSelected(){
return letterSelected;
}
/**Finds index of the letter of randomWord*/
public int getIndex(){
int index = getWords().indexOf(getSelected());
return index;
}
答案 0 :(得分:0)
我真的不明白你给我们的片段。
但您可以考虑以下代码来查找包含指定字符的Array
的字词:
String[] words = {"foo", "bar", "qux"};
for (String word : words)
{
if (word.indexOf('a') != -1)
{
System.out.println("Matched word '" + word + "' for character 'a'");
}
}
答案 1 :(得分:0)
我只是不明白你的逻辑。每次调用getWords()时,您都会返回新的随机单词。 您应该将随机生成的单词分配给某个变量,然后使用此变量。
对于你的具体问题,它应该是这样的:
// get your random word
String myGeneratedRandomWord = getWords ();
// your method
public void continueGame(){
letterSelected = JOptionPane.showInputDialog(null, "Take another guess!");
if(myGeneratedRandomWord.indexOf(letterSelected ) != -1) {
// it contains the letter
}
else {
// wrong guess
}
}
详细了解String.indexOf()方法。