字母在数组的元素中

时间:2013-01-12 15:49:33

标签: java arrays string

如何查看字符串数组中的元素是否包含某个字母?我需要它为刽子手。使用的单词数组是单词。 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;
}

2 个答案:

答案 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()方法。