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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.Scanner;

/*
* 统计一个字符串中某些字符串出现的次数。
*/
public class Student3 {
        public static void main(String[] args) {
                                //改为键盘录入。
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入字符串");
                String max = sc.nextLine();
                System.out.println("请输入你要查询的内容");
                String min = sc.nextLine();
               
                //String maxString = "jaamaxindexjavcxtoyudedexixinbajassdsdfasflkh";
                //String minString = "j";
                int count = getCount(max, min);
                System.out.println("统计"+min+"次数为:" + count);

        }

        // 方法实现 2个明确:1 :返回类型为int 2:变量为2个字符串。
        public static int getCount(String max, String min) {
                int count = 0;
                // 先在大串中查一次小串的位置。
                int index = max.indexOf(min);
                // 索引不是-1说明存在小串 ,统计变量+1
                while (index != -1) {
                        count++;
                        // 截取长度。第一次索引长度+小串的长度。
                        int temp = index + min.length();
                        // 把大串的长度截取刚才的长度重新复制给大串。
                        max = max.substring(temp);
                        // 继续进行判断。
                        index = max.indexOf(min);
                }
                // 返回统计次数。
                return count;
        }
}

2 个回复

倒序浏览
API 类好多。。智商不够用了
回复 使用道具 举报
假如用户先输入小字符串,再输入大字符串,你这个程序就不行呀,所以
getCount(String s1,String s2)接收的任意两个字符,方法里面得先判断那个是max,那个是min,且里面判读好像也可以改为while(max.contains(min))不一定用index !=-1这个条件判断
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马