我正在开发Anagram Finder计划。我写作的方法之一介绍了递归回溯这个我完全不熟悉的概念。我希望得到一些关于它如何工作/如何使其工作的建议。
我试图实现递归回溯,以便显示字典文本文件中的单词列表,以形成输入短语的字谜。这就是我到目前为止所拥有的:
public void printAnagrams(String phrase, int max, List<List<String>> anagrams) {
if (anagrams == null) {
throw new IllegalArgumentException();
} else if (max != 0) {
System.out.println("...");
} else
System.out.println("...");
for (List<String> element : anagrams)
System.out.println(anagrams);
}// End of printAnagram method
如果max&gt; 0,仅显示最大单词或更少的组合。 由于程序很长,背景信息列在下面的链接中。
AnagramFinder类:raw code
客户类:raw code
这是预期的结果:
文件名? dict2.txt
对争夺的短语?当然
在&#34; off course&#34;中找到的所有单词: [核心,课程,cs,治疗,for,force,force,four,of,off,offer,offer,或者,我们的,我们的,re,得分,所以,来源,受苦,当然,我们,使用,用户] < / p>
要包含的最大单词(输入无最大值)? 3
[核心,关闭,我们]
[core,us,off]
[当然,关闭]
[治愈,关闭,所以]
[治愈,所以,关闭]
[force,of,us]
[force,us,of]
[of,force,us]
[of,us,force]
[off,core,us]
[off,course]
[关闭,治愈,所以]
[关闭,所以,治愈]
[off,source]
[off,us,core]
[所以,治愈,关闭]
[所以,关闭,治愈]
[来源,关闭]
[我们,核心,关闭]
[us,force,of]
[us,of,force]
[我们,关闭,核心]
答案 0 :(得分:0)
尝试使用链接列表而不是列表&gt;它更好更容易理解