我正在尝试修改 [这里]在字符串中生成字符组合的答案 2 中的 java 代码不能完全正常工作,为什么?拥有一种方法来完成整个工作并且只采用一个参数,即组合中的字符数(即在 main 中作为方法(int)调用)。
这实际上是一个家庭作业,编写一个与上面链接中的代码相同的递归代码,即打印所需长度的所有字符组合,但在这种情况下,来自一组固定的字符,A、C、G 和 T(例如如果调用方法(2),它会打印 AA、AC、AG、AT、CA、CC...)。
到目前为止,我只有:
public static void printAllDNAs(int n) {
String[] dna;
dna = new String[4];
dna[0] = "A";
dna[1] = "C";
dna[2] = "G";
dna[3] = "T";
String prfx = "";
if (n == 0) {
System.out.println(prfx);
} else {
for (int i = 0; i < dna.length; i++) {
System.out.print(prfx + dna[i]);
printAllDNAs(n - 1);
}
}
}
public static void main(String[] args) {
printAllDNAs(3);
}
}
这显然是不对的。我知道我需要依次给 prfx 集合中每个字母的值,并将集合中的一个或多个字符附加到它。有人可以给我一两个提示吗?非常感激。