问题是:检查数组arr2是否以相同的顺序包含在arr1中。arr2可以包含在arr1中的任何位置。
public boolean contains(String[] arr1, String[] arr2)
{
int length = 0;
if(arr2.length > arr1.length)
return false;
for(int i = 0; i < arr2.length; i++)
{
if(arr2[i] == arr1[i])
length++;
}
if(length == arr2.length)
return true;
else
return false;
}
测试器:contains({“ 1”,“ 2”,“ 3”},{“ 1”,“ 2”})→true
运行:TRUE
测试器:contains({“ 1”,“ 2”,“ 3”},{“ 2”,“ 3”})→true
运行:FALSE
测试器:contains({“ 1”,“ 2”,“ 3”},{“ 2”,“ 1”})→否
运行:TRUE
测试器:contains({“ MARY”,“ A”,“ LITTLE”,“ LAMB”},{“ A”,“ LITTLE”,“ LAMB”})→true
运行:FALSE
测试器:contains({“ MARY”,“ A”,“ LITTLE”,“ LAMB”},{“ MARY”,“ A”,“ LITTLE”,“ LAMB”})→true
运行:TRUE
。
我不知道我要去哪里错了。感谢帮助。
arr[1].equals(arr[2])
替代arr[1] == arr[2]
我像这样修改代码:
public static boolean contains(String[] arr1, String[] arr2) {
int length = 0;
for (int i = 0; i < arr1.length; i++) {
if (arr2[length].equals(arr1[i])) {
length++;
} else {
length = 0;
}
if (length == arr2.length)
return true;
}
return false;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句