我为极长的字符串获得了2个输出

时间:2015-03-06 20:29:47

标签: java string netbeans output

我有一个程序涉及解析代表核苷酸的字符串。

当我使用一个小的核苷酸串(基本上是一个小DNA链),即'输入'足够小时,我得到一个输出:

然而,当我使用loooooooooooooooong字符串时。例如10000个核苷酸长(我实际上使用),我最终得到2个输出:O

http://i.stack.imgur.com/A39um.png http://i.stack.imgur.com/JnNcG.png

源代码:我只添加了我在主类中实际使用的函数。

public static void main (String args[])
{
    String input = "Blah Blah";
    System.out.println(translate(input));
}

public static String codon (String codon_input)
/* Returns the amino acid alphabet corresponding to entered codon 
   (3 nucleotide string) in String format. */        
{
    if (codon_input.substring(0,2).equals("GC"))
    {
        return "A";
    }
    else if (codon_input.equals("UGU") || codon_input.equals("UGC"))
    {
        return "C";
    }
    else if (codon_input.equals("GAU") || codon_input.equals("GAC"))
    {
        return "D";
    }
    else if (codon_input.equals("GAA") || codon_input.equals("GAG"))
    {
        return "E";
    }
    else if (codon_input.equals("UUU") || codon_input.equals("UUC"))
    {
        return "F";
    }
    else if (codon_input.substring(0,2).equals("GG"))
    {
        return "G";
    }
    else if (codon_input.equals("CAU") || codon_input.equals("CAC"))
    {
        return "H";
    }
    else if (codon_input.substring(0,2).equals("AU") && !codon_input.equals("AUG"))
    {
        return "I";
    }
    else if (codon_input.equals("AAA") || codon_input.equals("AAG"))
    {
        return "K";
    }
    else if (codon_input.substring(0,2).equals("CU") || codon_input.equals("UUA") || codon_input.equals("UUG"))
    {
        return "L";
    }
    else if (codon_input.equals("AUG"))
    {
        return "M";
    }
    else if (codon_input.equals("AAU") || codon_input.equals("AAC"))
    {
        return "N";
    }
    else if (codon_input.substring(0,2).equals("CC"))
    {
        return "P";
    }
    else if (codon_input.equals("CAA") || codon_input.equals("CAG"))
    {
        return "Q";
    }
    else if (codon_input.substring(0,2).equals("CG") || codon_input.equals("AGA") || codon_input.equals("AGG"))
    {
        return "R";
    }
    else if (codon_input.substring(0,2).equals("UC") || codon_input.equals("AGU") || codon_input.equals("AGC"))
    {
        return "S";
    }
    else if (codon_input.substring(0,2).equals("AC"))
    {
        return "T";
    }
    else if (codon_input.substring(0,2).equals("GU"))
    {
        return "V";
    }
    else if (codon_input.equals("UGG"))
    {
        return "W";
    }
    else if (codon_input.equals("UAU") || codon_input.equals("UAC"))
    {
        return "Y";
    }
    else if (codon_input.equals("UAA") || codon_input.equals("UAG") || codon_input.equals("UGA"))
    {
        return "Stop";
    }
    return "-";
}

public static String translate (String tran_input)
/* Converts an RNA strand into an amino acid strand using codon() */
{
    String tran_output = "";
    int tran_length = tran_input.length();
    int tran_cursor = 0;
    while (tran_cursor < tran_length - 2)
    {
        if (codon(tran_input.substring(tran_cursor, tran_cursor + 3)).equals("Stop"))
        {
            return tran_output;
        }
        else
        {
            tran_output = tran_output + codon(tran_input.substring(tran_cursor, tran_cursor + 3));
        }
        tran_cursor = tran_cursor + 3;
    }
    return tran_output;
}

为什么选票,人们?!

2 个答案:

答案 0 :(得分:1)

控制台一行中只能包含这么多字符。根据另一个帖子,mac可以有2047(我不知道netbeans是什么)。因此,我认为你的控制台只是移动到下一行,因为它太长了。我建议只输出一个文件。

答案 1 :(得分:0)

这不是您要输出到外部日志文件以保持记录的数据类型吗?与上述用户说的一样,格式化您的数据并将其保存为一个好的文件以便于阅读。