我需要从字符串数组中找到最大的字符串,并且还想确保出现的字符串应仅包含在单独的字符串中定义的那些字符。
例如:如果一个字符串数组包含{"ABCAD","ABC","ABCFHG","AB"} 并且另一个字符串 S 包含 chars "ABCD"。
那么这里返回的最大字符串应该是,ABCAD因为它只包含 中定义的字符S。
public String findstring(String a, String[] arr)
{
String s="";
for(i=0; i<arr.length; i++)
{
//int m=0;
if(arr[i].length() > s.length())
{
s = arr[i];
}
}
for(j=0; j<s.length(); j++)
{
int m=0;
for(k=0; k<a.length(); k++)
{
if(m>0)
{
break;
}
if((s.charAt(j)==a.charAt(k)))
{
m++;
}
else
{
continue;
}
}
if(m==0)
{
List<String> list = new ArrayList<String>(Arrays.asList(arr));
list.remove(s);
arr = list.toArray(new String[0]);
findstring("ABCD", arr);
}
}
return s;
}
}
我没有收到任何错误并获得最大的字符串,因为ABCFABCD需要F排除最大的字符串,而最大的字符串应该是ABCAA。它跳过所有检查,不知道为什么?
忽然笑
慕斯王
慕勒3428872
相关分类