码迷,mamicode.com
首页 > 其他好文 > 详细

子串在母串中出现的次数

时间:2018-05-18 20:41:34      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:计算   new   tar   inpu   题目   archive   lin   out   语法错误   

问题描述

下方给定的程序中,函数fun的功能是:统计substr在str中的出现次数。
比如说,字符串为aaab ljsuab,子字符串为ab,那么返回的结果为2.
请修改程序中的错误,使能计算正确的结果。
注意:不要修改main函数,也不要更改程序的结构。
题目中可能既会出现语法错误,也会出现逻辑错误哦~
相信你可以搞定,试试吧。

import java.util.*;

public class Main{
    public static void main(String args[]){
    Scanner input = new Scanner(System.in);
    String str = input.nextLine();
    String substr = input.nextLine();
    System.out.println(fun(str, substr));

    }
    
    static int fun(String str, String substr)
    {
        int count = 0;

        return count;
    }
}

输入格式

aaab ljsuab
ab

输出格式

2

代码

参考代码一

package javaexam;

import java.util.Scanner;

public class CountSubStr
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        String str = input.nextLine();
        String substr = input.nextLine();
        System.out.print(fun(str, substr));
    }
    
    static int fun(String str, String substr)
    {
        int count = 0, start = 0;
        
        while((start = str.indexOf(substr, start) + 1) > 0)
        {
            ++count;
        }
        
        return count;
    }
}

注:Java中字符串中子串的查找共有四种方法(indexof())

参考代码二

import java.util.*;

public class Main{
    public static void main(String args[]){
    Scanner input = new Scanner(System.in);
    String str = input.nextLine();
    String substr = input.nextLine();
    System.out.println(fun(str, substr));

    }
    
    static int fun(String str, String substr)
    {
        int count = 0;

        for(int i = 0; i < (str.length() - substr.length() + 1); ++i)
        {
            if(str.substring(i, i + substr.length()).equals(substr))
                ++count;
        }

        return count;
    }
}

样例测试

aaab ljsuab
ab
2

子串在母串中出现的次数

标签:计算   new   tar   inpu   题目   archive   lin   out   语法错误   

原文地址:https://www.cnblogs.com/narisu/p/9057891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!