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 --> 使用循环遍历字符串
使用循环遍历字符串 --> 判断当前