//我试图解决我从Codewars得到的问题 //问题如下 / *脱氧核糖核酸(DNA)是一种在细胞核中发现的化学物质,带有"指令"用于生物体的发育和功能。
如果您想了解更多http://en.wikipedia.org/wiki/DNA
在DNA字符串中,符号" A"和" T"互为补充,如同#34; C"和" G"。你有DNA的一面功能(字符串,Haskell除外);你需要获得另一个互补的一面。 DNA链从不是空的或根本没有DNA(再次,除了Haskell)。 * /
public class DnaStrand {
public static String makeComplement(String dna) {
StringBuilder builder = new StringBuilder();
for(int i=0;i<dna.length();i++){
char c = dna.charAt(i);
if(dna.charAt(i) == 'T'){
builder.append('A');
}
if(dna.charAt(i) == 'A'){
builder.append('T');
}
if(dna.charAt(i) == 'C'){
builder.append('G');
}
if(dna.charAt(i) == 'G'){
builder.append('T');
}
}
return builder.toString();
}
}
//此方法似乎正常 //但是当我提交它时,它表明来自//代码战争的各种输入不正确
答案 0 :(得分:5)
您的代码是......
if(dna.charAt(i) == 'G'){
builder.append('T');
}
&#39; G&#39;的补充是&#39; C&#39; (不是&#39; T&#39;)。所以它应该是......
if(dna.charAt(i) == 'G'){
builder.append('C');
}