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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Demo02 {
        /*
         * 4. 统计大串中小串出现的次数 String max =
         * "woaiheima,heimahenlihai,womendajiadoushiheimachengxuyuan"; String min
         * ="heima";
         */

        public static void main(String[] args) {
                String max = "woaiheima,heimahenlihai,womendajiadoushiheimachengxuyuanheima";
                String min = "heima";
                method1(max, min);
                method2(max, min);
        }

        // 方法一:切割 有小字符串的地方就切割一下 计算切割的次数
        private static void method2(String max, String min) {

                int count = 0;
                int len = 0;
                // indexOf()方法返回指定字符串在字符串中出现的第一次的索引,如果没有则返回-1
                while ((len = max.indexOf(min)) != -1) {
                        max = max.substring(len + min.length());   //截取字符串
                        count++;
                }
                System.out.println(count);
        }

        // 方法二:用空去代替黑马,先算出原来字符串的长度,再计算替代后字符串的长度
        // 原字符串的长度减去后字符串的长度后,再除以黑马的长度,就可以知道多少次了
        private static void method1(String max, String min) {
                int oldLen = max.length();
                String newStr = max.replace(min, "");
                int newLen = newStr.length();
                int needLen = oldLen - newLen;
                int need = needLen / min.length();
                System.out.println(need);

        }

}


1 个回复

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