练习:输入一个字符串和一个子串,打印这个子串在字符串中出现的所有的位置
public class Practice04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String subStr = scanner.nextLine();
int index = 0;
while (index < str.length()){
index = str.indexOf(subStr,index);
if (index != -1){
System.out.println(index);
index++;
}else{
break;
}
}
}
}
index用于记录字符出现的位置并且作为进行循环判断的条件,若它的值小于字符串的长度,则在原有的基础上加一并进行下一次的判断执行,下一次检索的位置在上一次检索到的位置后一位开始进行检索,保证了所有的相同的字符串都能购被检索出来。这里的index!=-1 是因为人为了若所查找的字符没有在字符串里就会返回-1,但它的值小于字符串长度,这种情况排除在外,避免了死循环。