寻找字符串中的相同子串的代码实现
时间: 2024-09-24 10:30:08 浏览: 65
以下是一种寻找字符串 t 中与 p 相同的连续子串并输出该子串起始位置的 Java 代码实现:
```java
import java.util.Scanner;
public class SubstringFinder {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String t = sc.nextLine(); // 输入主字符串 t
String p = sc.nextLine(); // 输入待匹配的子字符串 p
int index = t.indexOf(p); // 使用 indexOf 方法查找子串 p 在 t 中首次出现的位置
if(index == -1) { // 如果未找到子串,则输出 "No"
System.out.println("No");
} else {
// 子串找到,输出子串开始位置索引加一(因为通常字符串索引是从 0 开始,而这里需要输出从 1 开始的索引)
System.out.println(index + 1);
}
}
}
```
这段代码首先读取两行输入数据,第一行为源字符串 `t`,第二行为目标子字符串 `p`。接着利用字符串方法 `indexOf()` 来获取 `p` 在 `t` 中第一次出现的位置,如果找到了相应的子串,就打印出该子串的起始位置(注意这里的索引是按照题目要求从 1 开始计数的)。如果 `indexOf()` 返回 `-1`,这意味着子串 `p` 并不存在于字符串 `t` 中,因此程序输出 `"No"` 表示没有找到相匹配的子串。
阅读全文