输出在一个字符串中,指定字符串出现的次数(不好意思,第一次发布错了)

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);
        }
   
    }
}

 

posted @ 2010-10-16 15:34  恒~泪  阅读(786)  评论(1编辑  收藏  举报