比较字符串时为什么我的if语句总是正确的?

时间:2014-11-25 18:15:54

标签: java arrays string methods

我正在处理文字游戏的代码。此方法将包含按字典顺序排列的单词的2D数组作为输入,例如vocabularyByLetter[0]中的单词都以a开头。

它还获得三个字符串,每个字符串都是一个字符(我需要它是字符串而不是字符)。然后它找到以firstLetter开头的所有单词然后它查找包含第二个和第三个字母的单词,如果第三个和第二个字母是相同的字母,它们应该在单词中出现两次。 我的方法经历了一个大文本,但这里有一些例子:

输入:"y" , "e" , "e"

输出:

yelled
yourselves
found 2 words

我的代码返回所有以第一个字母开头的单词,但我检查了另一个语句。

    public static void printWords(String[][] vocabularyByLetter,
        String firstLetter, String secondLetter, String thirdLetter) {
    int firstnum = (((int) firstLetter.charAt((0)) % 97) + 1);

    int count = 0;

    for (String word : vocabularyByLetter[firstnum]) {
        if (secondLetter == thirdLetter) {
            int counter = 0;
            for (int i = 0; i < word.length(); i++) {
                if (word.charAt(i) == secondLetter.charAt(0)){
                    counter++;
                }
            }
            if (counter==2){
                count++;
                System.out.println(word);
            }

        }
        if (secondLetter!=thirdLetter){
        if (word.contains(secondLetter) && word.contains(thirdLetter)) {
            count++;
            System.out.println(word);
        }
    }}
    System.out.println("found" + count + "words");

}

0 个答案:

没有答案