我正在处理文字游戏的代码。此方法将包含按字典顺序排列的单词的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");
}