不能用内置函数,只能一个一个字符判断。
运行结果:
代码:
public class Test {
public static boolean isSubString(String sub,String big){
if(sub.length() > big.length())
return false;
int j = 0;
for(int i=0;i<big.length();i++){
for( j=0;j<sub.length();j++){
if((i+j) < big.length() && sub.charAt(j) != big.charAt(i+j))
break;
}
if(j == sub.length())
return true;
}
return false;
}
public static void main(String[] args) {
System.out.println("isSubString(\"cat\",\"The cat in the hat.\") is "+ isSubString("cat","The cat in the hat."));
System.out.println("isSubString(\"bat\",\"The cat in the hat.\") is "+ isSubString("bat","The cat in the hat."));
}// main end
}
可以用find方法,看返回的index是否大于-1
或者不管传入的是什么,把它replace成空
然后判断replace前后字符串是否有变化
有变化就说明在里面
没有变化就说明不在
参考如下:
public class Test {
public static void main(String []args) {
boolean res = isSubString("cat", "The cat in the hat.");
System.out.print("result is " + res);
}
public static boolean isSubString(String needle, String haystack) {
if (haystack.indexOf(needle) != -1) {
return true;
}
return false;
}
}