Java 字符串出现的次数

概述

本文将教你如何使用 Java 来统计一个字符串中某个子串出现的次数。我们会依次介绍整个过程的步骤,并给出相应的代码示例和注释。在开始之前,确保你已经掌握了 Java 的基础知识和字符串操作的基本概念。

整体流程

下面是我们解决这个问题的整体流程:

步骤 描述
1. 输入原始字符串和目标子串 接受用户输入的原始字符串和需要统计的目标子串。
2. 统计子串出现次数 使用循环遍历原始字符串,判断每个子串是否与目标子串相同,若相同则计数器加一。
3. 输出结果 将统计结果输出给用户。

接下来,我们将逐步介绍每个步骤所需的代码和具体操作。

代码实现

输入原始字符串和目标子串

首先,我们需要从用户那里获取原始字符串和需要统计的目标子串。在 Java 中,可以使用 Scanner 类来实现用户输入。下面是相应的代码示例:

import java.util.Scanner;

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

        System.out.print("请输入原始字符串:");
        String originString = scanner.nextLine();

        System.out.print("请输入目标子串:");
        String targetString = scanner.nextLine();

        // 统计子串出现次数的代码将写在这里

        scanner.close();
    }
}

在这段代码中,我们首先导入了 java.util.Scanner 类,用于获取用户的输入。然后,我们创建了一个 Scanner 对象 scanner,并使用 nextLine() 方法接收用户输入的原始字符串和目标子串。最后,别忘了使用 scanner.close() 方法关闭 Scanner 对象。

统计子串出现次数

接下来,我们需要使用循环遍历原始字符串,并判断每个子串是否与目标子串相同。如果相同,则计数器加一。下面是相应的代码示例:

import java.util.Scanner;

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

        System.out.print("请输入原始字符串:");
        String originString = scanner.nextLine();

        System.out.print("请输入目标子串:");
        String targetString = scanner.nextLine();

        int count = 0;
        int index = 0;
        while ((index = originString.indexOf(targetString, index)) != -1) {
            count++;
            index += targetString.length();
        }

        System.out.println("目标子串出现的次数为:" + count);

        scanner.close();
    }
}

在这段代码中,我们创建了两个整型变量 countindex,用于分别记录子串出现的次数和目标子串在原始字符串中的索引位置。然后,我们使用 indexOf() 方法在原始字符串中查找目标子串的索引,并将结果赋给 index。如果找到了目标子串,则将计数器 count 加一,并将 index 更新为目标子串结束的位置。接着,我们继续下一次循环,直到找不到目标子串为止。最后,我们将统计结果输出给用户。

输出结果

最后一步,我们需要将统计结果输出给用户。使用 System.out.println() 方法可以实现这个功能。下面是相应的代码示例:

import java.util.Scanner;

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

        System.out.print("请输入原始字符串:");
        String originString = scanner.nextLine();

        System.out.print("请输入目标子串:");
        String targetString = scanner.nextLine();

        int count = 0;
        int index = 0;
        while ((index = originString.indexOf(targetString, index)) != -1) {
            count++;
            index += targetString.length();
        }

        System.out.println("目标子串出现的次数为:" + count);

        scanner.close();
    }
}

在这段代码中,我们使用 System.out.println() 方法将统计结果输出给用户。其中,count 变量保存了目标子串出现的次数。