我有下面的代码,它不因为某些原因,我想弄清楚正常工作:寻找最大公共子
public static int score(String gene1, String gene2){
char[] a=new char[gene1.length()];
char[] b=new char[gene2.length()];
a=gene1.toCharArray();
b=gene2.toCharArray();
return score(a, b, 0,0);
}
private static int score(char[] a, char[] b, int i, int j){
if(a[i]=='\0' || b[j]=='\0')
return 0;
else if (a[i]==b[j])
return 1+score(a, b, i+1, j+1);
else
return max(score(a, b,i+1, j),score(a, b, i, j+1));
}
private static int max (int a, int b){
if (a<b) return b;
else return a;
}
这里是它失败:
assertEquals(2, GeneAnalysis.score("ACGT","AC"));
我得到一个IndexOutofBoundsError
任何想法?另外,在提供帮助时,请不要更改方法参数。他们应该是他们的样子。这
家庭作业标签也许? – 2010-11-06 00:33:32
是这功课吗?有趣。你问了45个问题并给出了0个答案。 – smartnut007 2010-11-06 00:34:16
请向我们提问这样的问题时向我们显示输入,实际产量和预期产量。 – 2010-11-06 00:34:35