Java字符串中某个字符串出现的次数

简介

在Java编程中,经常会遇到需要统计一个字符串中某个子字符串出现的次数的情况。本文将教你如何实现这个功能,包括整个流程、每一步需要做什么以及使用的代码。

流程图

graph TD;
    A[开始] --> B{获取输入字符串和目标子字符串}
    B --> C{计算子字符串出现的次数}
    C --> D[输出子字符串出现的次数]
    D --> E[结束]

步骤

步骤1:获取输入字符串和目标子字符串

首先,我们需要获取用户输入的字符串和目标子字符串。可以使用 Scanner 类来实现。以下是相应的代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // 创建 Scanner 对象
        Scanner scanner = new Scanner(System.in);
        
        // 提示用户输入字符串
        System.out.println("请输入字符串:");
        String inputString = scanner.nextLine();
        
        // 提示用户输入目标子字符串
        System.out.println("请输入目标子字符串:");
        String targetString = scanner.nextLine();
        
        // 关闭 Scanner
        scanner.close();
        
        // 打印输入的字符串和目标子字符串
        System.out.println("输入的字符串:" + inputString);
        System.out.println("目标子字符串:" + targetString);
    }
}

以上代码中,我们创建了一个 Scanner 对象 scanner,用于获取用户输入。通过调用 scanner.nextLine() 方法,我们可以获取用户输入的一行字符串,并将其存储到 inputStringtargetString 变量中。

步骤2:计算子字符串出现的次数

接下来,我们需要计算目标子字符串在输入字符串中出现的次数。我们可以使用 String 类的 indexOf() 方法来实现。

int count = 0; // 初始化计数器
int index = 0; // 初始化索引

while ((index = inputString.indexOf(targetString, index)) != -1) {
    count++; // 每次找到目标子字符串,计数器加1
    index += targetString.length(); // 移动索引到目标子字符串的下一个位置
}

以上代码中,我们使用 indexOf() 方法来查找目标子字符串在输入字符串中的位置。如果找到了目标子字符串,则将计数器 count 加1,并且将索引 index 移动到目标子字符串的下一个位置。

步骤3:输出子字符串出现的次数

最后,我们需要将子字符串出现的次数输出给用户。

System.out.println("子字符串 \"" + targetString + "\" 在输入字符串中出现的次数为:" + count);

以上代码将输出类似以下内容的信息:

子字符串 "目标子字符串" 在输入字符串中出现的次数为:3

完整代码

以下是整个程序的完整代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // 创建 Scanner 对象
        Scanner scanner = new Scanner(System.in);
        
        // 提示用户输入字符串
        System.out.println("请输入字符串:");
        String inputString = scanner.nextLine();
        
        // 提示用户输入目标子字符串
        System.out.println("请输入目标子字符串:");
        String targetString = scanner.nextLine();
        
        // 关闭 Scanner
        scanner.close();
        
        // 初始化计数器
        int count = 0;
        // 初始化索引
        int index = 0;
        
        while ((index = inputString.indexOf(targetString, index)) != -1) {
            count++; // 每次找到目标子字符串,计数器加1
            index += targetString.length(); // 移动索引到目标子字符串的下一个位置
        }
        
        // 输出子字符串出现的次数
        System.out.println("子字符串 \"" + targetString + "\" 在输入字符串中出现的次数为:" + count);
    }
}

现在,你已经学会了如何实现统计字符串中子字符串出现次数的功能。祝你在编程的道路上越来越进步!