public class IfSubstring {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入长字符串:");
String ss = scanner.next();
System.out.println("请输入短字符串:");
String s = scanner.next();
IfSubstring i = new IfSubstring();
String aString = i.ifSubstring(ss, s);
if(aString != null) {
int index = 0;
System.out.println("存在子串!!");
System.out.print("出现的位置是:");
0-
System.out.print(aString+" ");
}
else {
System.out.println("没有相同的子串");
}
}
public String ifSubstring(String ss, String s) {
StringBuffer sb = new StringBuffer();
int index = -1;
for(int i = 0;i < ss.length();i++) {
index = ss.indexOf(s, index+1);
if(index == -1) {
break;
}
else {
sb.append(index + 1 +"");
}
}
return sb.toString();
}
}
利用stringbuffer类进行存储接收字符串位置下标index,因为它修饰的是字符串变量,是可以进行修改的,是和String类所不同的,充分利用String类中的方法(string.indexof())进行字符串搜索,并返回下标。