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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

14年的末班车,祝福准备好的人都赶上吧!

  1. package exercises;

  2. /**
  3. * 在字符串中查找字符出现的次数
  4. * @author always
  5. *
  6. */
  7. public class Test {

  8.         public static void main(String[] args) {
  9.                
  10.                 //定义字符串及要查找的字符
  11.                 String str = "abcdefabcdefabcdeffrf";
  12.                 char ch = 'f';
  13.                
  14.                 //定义次数count
  15.                 int count;
  16.                
  17.                 //两种方法查找
  18.                 // count = getCount_1(str, ch);
  19.                 count = getCount_2(str, ch);
  20.                
  21.                 //打印次数
  22.                 System.out.println(count);
  23.         }

  24.         /**
  25.          * 方法一,通过遍历每一个字符位置查找
  26.          * @param str
  27.          * @param ch
  28.          * @return
  29.          */
  30.         private static int getCount_1(String str, char ch) {
  31.                 int count = 0;
  32.                 for (int i = 0; i < str.length(); i++) {
  33.                         if (str.charAt(i) == ch)
  34.                                 count++;
  35.                 }
  36.                 return count;
  37.         }
  38.        
  39.         /**
  40.          * 方法二,通过indexOf出现的次数查找
  41.          * @param str
  42.          * @param ch
  43.          * @return
  44.          */
  45.         private static int getCount_2(String str, char ch) {
  46.                 int fromIndex = 0, count = 0;
  47.                 while ((fromIndex = str.indexOf(ch, fromIndex)) != -1) {
  48.                         fromIndex++;
  49.                         count++;
  50.                 }
  51.                 return count;
  52.         }


  53. }
复制代码

评分

参与人数 1黑马币 +3 收起 理由
杨佳名 + 3

查看全部评分

38 个回复

正序浏览
加油!加油
回复 使用道具 举报
刚进视频辅导班的小弟路过。学习了。
回复 使用道具 举报
加油。。。。。。
回复 使用道具 举报
我也想考试啊!
回复 使用道具 举报
菜鸟一号 发表于 2015-1-2 09:47
牛B,这膜多技术分

你和一打黑马币。换成分估计比我还多了。。。
回复 使用道具 举报
Eagle 发表于 2014-12-31 23:41
一号,咱俩终于见面了。哈哈

牛B,这膜多技术分
回复 使用道具 举报
lpf870826 发表于 2014-12-31 21:47
技术分怎么得的了。一号

努力攒回来的
回复 使用道具 举报
报的哪一期?
回复 使用道具 举报
支持你,一起努力!
回复 使用道具 举报
你能行的!!!
回复 使用道具 举报
加油,我还有很长的一段路
回复 使用道具 举报
在说一个思路,用split()函数,直接看数组的长度,但是遇到一个问题
public static void main(String [] args)
        {
                String s1="aaaaaa";               
                int iCZ=CountChar(s1,"a");
                System.out.println(iCZ);
        }

        public static int CountChar(String sTarget,String ch)
        {
                String [] str=sTarget.split(ch);
                return str.length-1;
        }
此时返回的是-1,即字符串并没有查到并进行分割,为什么呢
回复 使用道具 举报
顶楼主,加油
回复 使用道具 举报
楼主加油。
回复 使用道具 举报

加油!!!
回复 使用道具 举报
清浅。。 来自手机 中级黑马 2015-1-1 10:30:47
24#
顶一下~加油
回复 使用道具 举报
一般来说,遍历对比字符串,使用equals方法会比较方便,而且不容易出错。所以可以改进哦,方法一
回复 使用道具 举报
加油,学到手才是重要的
回复 使用道具 举报
加油,大家一起努力啊。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马