[こちら] の回答 2 の Java コードを変更しようとしていますが、文字列内の文字の組み合わせの生成が完全に機能しません。ジョブ全体を実行し、1 つのパラメーター (組み合わせ内の文字数) のみを受け取る 1 つのメソッドを作成します (つまり、main で method(int) として呼び出されます)。
上記のリンクのコードと同じことを行う再帰コードを書くことは、実際には宿題です。つまり、必要な長さのすべての文字の組み合わせを出力しますが、この場合、文字の固定セットから、A、C、G、および T (例: method(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 に与え、セットから 1 つ以上の文字を追加する必要があることを理解しています。誰かが私がこれをどのように進めるべきかのヒントを教えてもらえますか? 大変感謝しています。