java – 获取另一个字符串中一个字符串的出现次数

我需要输入两个字符串,第一个是任何单词,第二个字符串是前一个字符串的一部分,我需要输出第二个字符串出现的次数.例如:String 1 = CATSATONTHEMAT String 2 = AT.输出为3,因为AT在CATSATONTHEMAT中出现三次.这是我的代码:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    String word8 = sc.next();
    String word9 = sc.next();
    int occurences = word8.indexOf(word9);
    System.out.println(occurences);
}

当我使用此代码时,它输出1.

最佳答案
你也可以尝试:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    String word8 = sc.nextLine();
    String word9 = sc.nextLine();
    int index = word8.indexOf(word9);
    sc.close();
    int occurrences = 0;
    while (index != -1) {
        occurrences++;
        word8 = word8.substring(index + 1);
        index = word8.indexOf(word9);
    }
    System.out.println("No of " + word9 + " in the input is : " + occurrences);
}

转载注明原文:java – 获取另一个字符串中一个字符串的出现次数 - 代码日志