输入两个字符串str1,str2。第一个字符串str1为源字符串,str2为待查找子串 ,输出所有子串在源字符串中出现的位置,如果有多个,中间用分号隔开。如果不存在则输出“no this string!”。 shi使用java
时间: 2023-11-27 15:50:16 浏览: 36
以下是使用Java实现的代码:
```java
public static void findSubstring(String str1, String str2) {
if (str1 == null || str2 == null) {
System.out.println("no this string!");
return;
}
List<Integer> positions = new ArrayList<>();
int index = str1.indexOf(str2);
while (index != -1) {
positions.add(index);
index = str1.indexOf(str2, index + 1);
}
if (positions.isEmpty()) {
System.out.println("no this string!");
} else {
StringBuilder result = new StringBuilder();
for (int i = 0; i < positions.size(); i++) {
result.append(positions.get(i));
if (i != positions.size() - 1) {
result.append(";");
}
}
System.out.println(result.toString());
}
}
```
这个方法使用了`indexOf`方法来查找子串在源字符串中的位置,如果没有找到则返回-1。如果找到了,则将其位置添加到一个List中。最后,如果没有找到任何位置则输出`no this string!`,否则将所有位置用分号连接起来输出。
阅读全文