下面这段代码测试通过率为60%,不知道错在哪里?
package com.company;
import java.util.Scanner;
public class a {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例
int num = in.nextInt();//数据组数
int[] ii = new int[num];
for(int i = 0 ; i < num ; i++){//将字符串存入ss数组
String a = in.next();
String b = in.next();
ii[i] = findMaxLength(a,b);
}
//输出每一组最大字串长度
for(int i = 0 ; i < num ; i++){
System.out.println(ii[i]);
}
}
}
private static int findMaxLength(String a, String b) {
int maxLength = 0;
int tempLength = 0;
for(int i = 0 ; i < a.length() ; i++){
for(int j = 0; j < b.length(); j++){
int k = i;
int m = j;
tempLength = 0;
while(a.charAt(k++) == b.charAt(m++)){
tempLength++;
if(k >= a.length() || m >= b.length())
break;
}
if(tempLength > maxLength)
maxLength = tempLength;
}
}
return maxLength;
}
}