Java判断字符串子串个数的实现流程

作为一名经验丰富的开发者,我将教给你如何使用Java来判断字符串中子串的个数。首先,我们需要明确整个流程,并用表格的形式展示出来。然后,我会逐步指导你每一步需要做什么,包括需要使用的代码和注释。

实现流程

按照以下步骤,我们可以实现字符串中子串个数的判断:

步骤 描述
1 获取用户输入的字符串和子串
2 使用String类的indexOf()方法查找子串
3 判断indexOf()返回的位置是否大于等于0
4 如果大于等于0,继续查找下一个子串
5 如果小于0,子串个数加1
6 重复步骤3~5直到字符串结束
7 返回子串个数

现在让我们一步步来实现上述流程。

获取用户输入的字符串和子串

首先,我们需要获取用户输入的字符串和子串。可以使用Scanner类来实现:

import java.util.Scanner;

public class SubstringCounter {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        System.out.print("请输入字符串:");
        String str = input.nextLine();
        
        System.out.print("请输入子串:");
        String subStr = input.nextLine();
        
        input.close();
        
        // 继续下面的步骤
    }
}

在上述代码中,我们创建了一个Scanner对象input来接收用户的输入。然后使用nextLine()方法分别获取字符串和子串,并将其存储在变量strsubStr中。

使用indexOf()方法查找子串

接下来,我们将使用String类的indexOf()方法来查找子串。这个方法返回子串在原字符串中第一次出现的位置,如果没有找到,将返回-1。

int index = str.indexOf(subStr);

在上述代码中,我们使用indexOf()方法查找子串,并将结果存储在变量index中。

判断indexOf()返回的位置

接下来,我们需要判断indexOf()返回的位置是否大于等于0,来确定是否找到了子串。

if (index >= 0) {
    // 继续查找下一个子串
} else {
    // 子串个数加1
}

在上述代码中,如果index大于等于0,表示找到了子串,我们将继续查找下一个子串;如果index小于0,表示没有找到子串,我们将子串个数加1。

继续查找下一个子串

为了继续查找下一个子串,我们可以利用indexOf()方法的第二个参数来指定开始搜索的位置。

index = str.indexOf(subStr, index + 1);

在上述代码中,我们将index + 1作为第二个参数传递给indexOf()方法,以便从上一个子串的下一个位置开始搜索。

子串个数加1

如果没有找到子串,我们将子串个数加1。

count++;

在上述代码中,我们使用变量count来记录子串的个数,并在没有找到子串时将其加1。

重复步骤3~5直到字符串结束

我们需要重复步骤3~5,直到字符串结束。

while (index >= 0) {
    index = str.indexOf(subStr, index + 1);
    count++;
}

在上述代码中,我们使用一个while循环来不断重复步骤3~5,直到index小于0。

返回子串个数

最后,我们将子串的个数返回。

return count;

在上述代码中,我们使用return语句将子串的个数返回到调用者。

完整代码如下:

import java.util.Scanner;

public class SubstringCounter {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
        System.out.print("请输入字符串:");
        String str = input.nextLine();
        
        System.out.print("请输入子串:");
        String subStr = input.nextLine();