输出在一个字符串中,指定字符串出现的次数(不好意思,第一次发布错了)
import java.util.Scanner;
import java.util.ArrayList;
public class string2{
public static void main(String[] args){
String str;
String subStr;
T t = new T();
Scanner s = new Scanner(System.in);
System.out.print("输入字符串:");
str = s.next();
System.out.print("输入查找字符串:");
subStr = s.next();
t.count(str,subStr);
}
}
class T{
private ArrayList<Integer> number = new ArrayList<Integer>();
int k = 0;
public void count(String str,String subStr){
int m = -1;
for(int i = 0; i< str.length();i++ ){
int j = str.indexOf(subStr,i) ;
if((j >=0)&&(j != m)){ //因为indexOf()返回最近出现的位置,所以有可能重复
number.add(j);
k++;
m = j;
}
}
// System.out.println(subStr);
System.out.println("字符串"+subStr+"出现的次数为:"+k);
System.out.println("所在字符串的索引号分别为:");
for(Integer e : number){
System.out.println(e);
}
}
}