Issue
I have a program that involves parsing strings that represent nucleotides.
When I use a small nucleotide string (basically, a small DNA strand) i.e. 'input' is small enough, I get one output:
However, when I use a loooooooooooooooong string. e.g. 10000 nucleotides long (which I actually use) , I end up with 2 outputs :O
http://i.stack.imgur.com/A39um.png http://i.stack.imgur.com/JnNcG.png
Source code: I only added the functions that I was actually using in the main class.
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;
}
Solution
The console can only have so many characters in one line. According to another post mac can have 2047 (I don't know what it is on netbeans). Therefore, I think your console is just moving to the next line because it is so long. I would suggest just outputting to a file.
Answered By - Anthony Dito
Answer Checked By - Timothy Miller (JavaFixing Admin)