这个题,错在哪了?
基因组在三字符ATG之后开始,在三字符TAG, TAA和TGA之前结束,因此,基因字符串 的长度是3的整数倍,而基因不包含任何ATG , TAG , TAA, TGA这样的三个字符。编写应该程序,提示输入一个基因组,然后显示所有的基因。如果在输入序列中没有找到任何基因,就提示无基因!下面是运行示例:
Enter a genome String:TTATGTTTTAAGGATGGGGCGTTAGTT
TTT
GGGCGT
—————————————————————————————————————第二次
Enter a genome String;TGTGTGTATATAT
no gene is found
我的代码:
import java.util.Scanner;
public class a {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a genome String: ");
String src = input.nextLine();
int end=0,j,i=0;
for(j=0;j<src.length()-2;j++)
{
if(src.substring(j,j+3).equals("ATG"))
{
for(end=j+3;end<src.length()-2;end+=3)
{
if(src.substring(end,end+3).equals("TAG")||src.substring(end,end+3).equals("TAA")||src.substring(end,end+3).equals("TGA"))
{
System.out.println(src.substring(j+3,end));
++i;
break;
}
}
}
}//TTATGTTTTAAGGATGGGGCGTTAGTT
if(i==0)
{
System.out.println("No gene is found");
}
}
}