补充Java中的DNA序列

时间:2018-04-24 11:34:22

标签: java

//我试图解决我从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();
        }
    }

//此方法似乎正常 //但是当我提交它时,它表明来自//代码战争的各种输入不正确

1 个答案:

答案 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');
    }