A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

比如:javascriptjavasejavaeejavame
思路:
    定义一个计数器
    获取java第一次出现的位置
    从第一次出现位置后剩余的字符 串中继续获取java出现的位置每获取一次就计数一次
    当获取不到时,计数完成
  1. class StringCount{
  2.     public static void main(String[] args){
  3.         String s = "javascriptjavasejavaeejavame";
  4.         int count = getSubString(s,"java");
  5.         System.out.println(count);
  6.     }
  7.     public static int  getSubString(String str,String key){
  8.         int count = 0;
  9.         int index = 0;
  10.         while((index=str.indexOf(key,index))!=-1){
  11.             index = index+key.length();
  12.             count++;
  13.         }
  14.         return count;
  15.     }
  16.    
  17. }
复制代码


第二种方式:
  1. public static int getSubCount_2(String str,String key){
  2.     int count = 0;
  3.     int index = 0;

  4.     while ((index=str.indexOf(key))!=-1){
  5.         str = str.subtring(index+key.length());
  6.         count++;
  7.     }
  8.     return count;
  9. }
复制代码




2 个回复

倒序浏览
写的不错,这方法很简练,切割也可以,不过很少使用
回复 使用道具 举报
补上方法三:
  1.     public static int getSubCount_3(String str,String key){
  2.         int count = 0;
  3.         String c = str.replaceAll(key,"");
  4.         count =(str.length()-c.length())/key.length();
  5.         return count;
  6.     }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马