我不熟悉Stack的用法。在下面的代码中,我建议使用 Stack<String>
作为我的参数之一 - 浏览代码段,我不能说我确定如何使用它/它是什么。我还没测试过。一些建议?
不完整的方法:
public void print(String phrase, int max) {
if (phrase == null || max < 0) throw new IllegalArgumentException();
}// End of print helper method
公共方法:
public void print(String phrase) {
Stack<String> stack = new Stack<>();
LetterCounter letter = new LetterCounter(phrase);
print((Set<String>) printList, letter, stack);
} // End of print method
私人助手方法:
private void print(Set<String> s, LetterCounter letter, Stack<String> chosen) {
if (letter.isEmpty()) {
System.out.println(chosen);
} else {
System.out.println("Letter: " + letter);
for (int i = 0; i < s.size(); i++) {
String choice = s.toArray()[i].toString();
if (letter.contains(choice)) {
chosen.push(choice);
letter.subtract(choice);
s.remove(choice);
System.out.println("Chosen: " + chosen);
System.out.println("Letter: " + letter);
}
}
}
}// End of (helper) print method
一些背景信息:
课程:link
客户类:link