【问题标题】:I cannot process chars [closed]我无法处理字符[关闭]
【发布时间】:2016-01-17 14:10:15
【问题描述】:

我正在编写翻译 DNA 序列的代码!该程序导入了一个名为 shortDNA 的字符串(例如 ATCGGA),并且必须翻译它(特别是 TAGCCT),但由于某种原因,它给出了它导入的 shortDNA 字符串(在本例中为 ATTCGGA)!我的代码有什么问题?

for (int i = 0; i < shortDNA.length(); i++) {
            char ch = shortDNA.charAt(i);
            if (ch=='A'){
                ch='T';
            }
            else if (ch=='T'){
                ch='A';
            }
            else if (ch=='G'){
                ch='C';
            }
            else if (ch=='C'){
                ch='G';
            }
        }

【问题讨论】:

  • 你实际上在哪里返回东西?
  • @Marvin 在这段代码之后,但这不是问题
  • 考虑使用switch case
  • 好吧,我敢打赌。
  • @guy 我想我解决了!我构建了另一个字符串来保存翻译后的序列

标签: java char dna-sequence


【解决方案1】:

我假设你想使用这个字符来构建一个新的字符串,而不是设置一个被丢弃的字符变量。

StringBuilder sb = new StringBuilder();
for (char ch : dna.toCharArray()) {
    switch (ch) {
        case 'A': sb.append('T'); break;
        case 'T': sb.append('A'); break;
        case 'G': sb.append('C'); break;
        case 'C': sb.append('G'); break;
    }
}
String dna2 = sb.toString();

【讨论】:

  • 非常感谢,这就是我在上面的 cmets 提出的!
猜你喜欢
  • 2020-03-04
  • 1970-01-01
  • 2018-01-17
  • 1970-01-01
  • 1970-01-01
  • 2016-05-04
  • 1970-01-01
  • 1970-01-01
  • 2013-07-18
相关资源
最近更新 更多