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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18631147315 初级黑马   /  2015-5-17 21:52  /  587 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


给定一个字符串找到子串在字符串中出现的次数。
String s = “abcitcastabcxxxabc”中的"abc"

6 个回复

倒序浏览
int len = "abc".length();   int index =s.indexOf("abc"); int count = s.indexOf("abc",index+1);定义一个计数器,找到一次计一次,最后输出即可。
回复 使用道具 举报
不用定义计数器,直接通过String.lastIndexOf("abc")得到的结果就是abc的次数
回复 使用道具 举报 0 1
396460221 发表于 2015-5-17 22:10
int len = "abc".length();   int index =s.indexOf("abc"); int count = s.indexOf("abc",index+1);定义一 ...

给个全点的代码呗  看不明白  你写的这我也写出来了
回复 使用道具 举报
zhangkai986745 发表于 2015-5-17 22:39
这个只要对API熟悉就不会有什么难度了

给来个代码呗
回复 使用道具 举报
//获取一个字符串在另一个字符串中出现的次数 public static void getCount(String str,String key){  int count=0;  for(int y=0;(y=str.indexOf(key, y))!=-1;)   {    //System.out.println("str="+str);    y=y+key.length();//从查到第一个key的位置加上key的长度位置后一字符继续查找    System.out.println("y = "+y);//输出查到key的位置    count++;//计数器增加   }  System.out.println(count); }
回复 使用道具 举报 1 0
18631147315 发表于 2015-5-17 22:38
给个全点的代码呗  看不明白  你写的这我也写出来了
  1. //获取一个字符串在另一个字符串中出现的次数
  2. public static void getCount(String str,String key){
  3. int count=0;
  4. for(int y=0;(y=str.indexOf(key, y))!=-1;)
  5.   {
  6.    //System.out.println("str="+str);
  7.    y=y+key.length();//从查到第一个key的位置加上key的长度位置后一字符继续查找
  8.    System.out.println("y = "+y);//输出查到key的位置
  9.    count++;//计数器增加
  10.   }
  11. System.out.println(count);
  12. }
复制代码
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马