JAVA查看有几个字符串

介绍

在JAVA开发中,经常需要统计某个字符串中包含的子字符串的个数。对于刚入行的小白来说,可能不清楚具体的实现步骤。本文将详细讲解如何使用JAVA来查看字符串中有几个子字符串的方法。

实现步骤

为了更好地理解整个过程,我们可以使用一个流程图来展示具体的步骤。

flowchart TD
    A[输入字符串及子字符串] --> B[初始化计数器count为0]
    B --> C[使用循环遍历字符串]
    C --> D[判断当前位置是否为子字符串的起始位置]
    D --> E[如果是,计数器count加1]
    E --> F[继续遍历下一个位置]
    D --> F
    F --> G[循环结束后,输出计数器count的值]

具体步骤及代码解析

下面将按照流程图的步骤,给出每一步需要做什么,以及相应的代码及注释。

步骤 1:输入字符串及子字符串

首先,我们需要输入一个字符串和一个子字符串,以便进行查找操作。我们可以使用Scanner类来实现用户输入。代码如下所示:

import java.util.Scanner;

public class CountSubstrings {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入字符串:");
        String inputString = scanner.nextLine();
        System.out.print("请输入子字符串:");
        String subString = scanner.nextLine();
        scanner.close();
    }
}

步骤 2:初始化计数器count为0

我们需要创建一个计数器,用于统计子字符串在输入字符串中出现的次数。代码如下所示:

int count = 0;

步骤 3:使用循环遍历字符串

我们需要使用循环来遍历输入字符串的每一个字符。这里我们选择使用for循环来实现。代码如下所示:

for (int i = 0; i <= inputString.length() - subString.length(); i++) {
    // 待添加代码
}

步骤 4:判断当前位置是否为子字符串的起始位置

我们需要判断当前位置是否为子字符串的起始位置,如果是,则计数器count加1。代码如下所示:

if (inputString.substring(i, i + subString.length()).equals(subString)) {
    count++;
}

步骤 5:继续遍历下一个位置

我们需要继续遍历下一个位置,以便查找下一个子字符串。代码如下所示:

continue;

步骤 6:循环结束后,输出计数器count的值

循环结束后,我们需要输出计数器count的值,即子字符串在输入字符串中出现的次数。代码如下所示:

System.out.println("子字符串 \"" + subString + "\" 在输入字符串 \"" + inputString + "\" 中出现了 " + count + " 次。");

完整代码

将上述代码整合起来,得到完整的JAVA程序。

import java.util.Scanner;

public class CountSubstrings {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入字符串:");
        String inputString = scanner.nextLine();
        System.out.print("请输入子字符串:");
        String subString = scanner.nextLine();
        scanner.close();

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

        System.out.println("子字符串 \"" + subString + "\" 在输入字符串 \"" + inputString + "\" 中出现了 " + count + " 次。");
    }
}

状态图

为了更好地理解整个过程,我们可以使用一个状态图来展示具体的状态变化。

stateDiagram
    [*] --> 输入字符串及子字符串
    输入字符串及子字符串 --> 初始化计数器count为0
    初始化计数器count为0 --> 使用循环遍历字符串
    使用循环遍历字符串 --> 判断当前