さて、次のように機能するメソッドcomplementWC()を作成するように求められます。
public String complementWC()
ワトソンクリックの補体を返します。これは、相補DNA鎖(つまり、二重らせんのもう一方の鎖)を表す文字列です。したがって、すべてのTをAに、すべてのAをTに、すべてのCをGに、すべてのGをCに交換します。
そして、これは私が何とかしたことです:
private String dna;
public String complementWC(){
String dnaWC = "";
for(int i=0;i<dna.length();i++){
if(dna.charAt(i) == 'T'){
dna.replace(dna.charAt(i), 'A');
}
if(dna.charAt(i) == 'A'){
dna.replace(dna.charAt(i), 'T');
}
if(dna.charAt(i) == 'C'){
dna.replace(dna.charAt(i), 'G');
}
if(dna.charAt(i) == 'G'){
dna.replace(dna.charAt(i), 'C');
}
dnaWC = dna;
}
return dnaWC;
}
ここで問題となるのは、このメソッドがWCcomplementではなく元のDNAを返すだけであるということです。そのため、forループ内の文字列を「dnaWC」という新しい文字列に格納する方法がわかりません。