【发布时间】:2010-09-17 11:57:22
【问题描述】:
我希望这个方法适用于任何给定数量的参数,我可以通过代码生成(有很多丑陋的代码)来做到这一点,它可以通过递归来完成吗?如果是这样怎么办?我理解递归,但我不知道怎么写。
private static void allCombinations(List<String>... lists) {
if (lists.length == 3) {
for (String s3 : lists[0]) {
for (String s1 : lists[1]) {
for (String s2 : lists[2]) {
System.out.println(s1 + "-" + s2 + "-" + s3);
}
}
}
}
if (lists.length == 2) {
for (String s3 : lists[0]) {
for (String s1 : lists[1]) {
System.out.println(s1 + "-" + s3);
}
}
}
}
【问题讨论】:
标签: java recursion loops combinatorics