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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tanzhiqiu 初级黑马   /  2013-7-23 04:48  /  1075 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-23 16:51 编辑

获取itcast字符串在整个字符串中出现的次数.字符串"gzitcastabcgzabcitcastabcjavaabcandroiditcast"
class Test4
{
        public static void main(String[] args)
        {
                String str = "gzitcastabcgzabcitcastabcjavaabcandroiditcast";
                sop("count="+getSubCount_2(str,"itcast"));
        }

public static int getSubCount_2(String str,String key)
        {
                int count = 0;
                int index = 0;

                while((index= str.indexOf(key,index))!=-1)
                {
                        sop("index="+index);
                        index = index + key.length();

                        count++;
                }
                return count;
        }
        public static void sop(String str)
        {
                System.out.println(str);
        }
}

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

2 个回复

倒序浏览
学习学习!
回复 使用道具 举报
public static void main(String[] args) {

                /*
                 * 需求3:子串在整串中出现的次数。"nbadfnbaghjnbaklnba"
                 *
                 * 思路:
                 * 1,需要计数。
                 * 2,找到一个nba就计数。
                 * 3,咋找?那就是字符串中查找字符串,字符串中怎么找应该字符串自己很清楚。
                 * 所以找String类。
                 * 4,如果有这个方法,每找一次需要计数,需要找n次。循环完成。
                 *
                 * 步骤;
                 * 1,定义变量,计数。
                 * 2,需要循环,循环条件是,找到了就继续循环,没有找到就停。
                 * int indexOf(String)
                 * 3,循环内对计数器自增。
                 */
               
                String str ="qqnbadfnbaghjnbaknbalnba";
                String key = "nba";
               
                int count = getKeyCount(str,key);
                System.out.println("count="+count);
               
        }

        public static int getKeyCount(String str, String key) {
               
                //1,定义变量计数。
                int count = 0;
                //2,定义变量,记录每次找到的角标。
                int index = 0;
                //2,循环。条件是indexOf查找的方法返回的结果不是-1.而且要明确下次查找的位置。indexOf(String,fromIndex);
                while((index = str.indexOf(key,index))!=-1){
                       
                        count++;
                        //每找完一次,都要确定下次要找的起始位置。上次位置+key的长度。
                        index += key.length();
                       
                }
                return count;
        }

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马