Я не знаю, где и как разместить оператор возврата, поэтому я получаю связанный список. Возврат связанного списка находится в цикле. Однако мне нужно иметь оператор return вне этого, но я не могу заставить его работать. Я просто продолжаю получать нулевой возврат. Пытался вставить оператор else, но он не работает. Я чувствую, что это простое решение, но не могу его решить. Я знаю, что возвращаемый ноль всегда читается в этом коде, просто не знаю, как его поставить, чтобы он не всегда возвращал ноль.
Метод принимает строку цифр, получает буквы, прикрепленные к этим цифрам на клавиатуре, и помещает возможные комбинации этих строк в метод, который находит слова и возвращает связанный список этих слов.
Просто не могу отработать оператор возврата в методе.
public LinkedList bfs_search(String numberEntered) {
//use a queue for all the unsearched combinations to go
Queue<String> q = new LinkedList<String>();
q.add("");
String possibleWord = null;
//loop through each number entered
for(int i = 0; i < numberEntered.length(); i++) {
//get the letters on the keypad for current number
String lettersOnKeypadNumber = T9keypad[numberEntered.charAt(i) - ASCII_ZERO];
int len = q.size();
//loop while there are letter sequences in the queue. Note len-- is same as len=len-1 so loop until only one item left in queue (the blank item inserted above)
while(len -- > 0) {
String letterSequenceFromQ = q.remove();
//loop through each letter on the keypad number, add it to the letter sequence pulled from queue and search for that letter sequence as a word in the trie
for(int j = 0; j < lettersOnKeypadNumber.length(); j++) {
possibleWord = letterSequenceFromQ + lettersOnKeypadNumber.charAt(j);
//q.add(tmpStr);
if(search(possibleWord) && possibleWord.length() == numberEntered.length()) {
//found it!
return possibleWords(possibleWord);
} else {
//letter sequence is not a word, add it to the queue for possible word when get the next set of letters for the next keyed number
q.add(possibleWord);
}
}
}
}
return null;
}
return null
наreturn new LinkedList<>()
. - person Duncan Jones   schedule 03.05.2013while(len-- > 0)
выглядит как ошибка, не нужно ли переоценитьq.size()
? - person Duncan Jones   schedule 03.05.2013possibleWords()
возвращает значение null или потому, что вы достигаете своего оператораreturn null;
? Если вы не знаете, пожалуйста, используйте отладчик и узнайте. - person Duncan Jones   schedule 03.05.2013