我試圖修改[代碼] Generating character combination in a string doesn't work entirely, why?中的答案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集合中每個字母的值,並從集合中追加一個或多個字符到它。有人可以給我一兩個提示,我應該這樣做嗎?不勝感激。
非常感謝!唉,在這個算法和數據結構課程中,我們不允許使用其他現成的類,如ArrayList,除非指定。但我會從中學到很多,所以非常感謝。 –