使用Java中String Buffer中的方法编写一个程序,输出一个字符串中指定字符串出现的次数。
时间: 2024-04-05 07:29:17 浏览: 132
可以使用StringBuffer中的indexOf()和substring()方法来寻找并统计指定字符串出现的次数,具体的实现代码如下:
```java
public static int countOccurrences(String str, String target) {
int count = 0;
int index = str.indexOf(target);
while (index != -1) {
count++;
index = str.indexOf(target, index + 1);
}
return count;
}
```
在此方法中,我们通过indexOf()方法来寻找目标字符串在原字符串中的位置,如果找到了,则将计数器加1,然后继续从上一次找到的位置之后继续寻找下一个目标字符串,直到找不到为止。最后返回计数器的值即可。
相关问题
java用String Buffer来判断一个字符串是不是对称字符串
在Java中,StringBuffer是一个可变字符串类,可以使用它来判断一个字符串是否是对称字符串。具体操作是先将原字符串转换成StringBuffer类型,然后将其翻转,最后与原字符串进行比较,如果相同则为对称字符串,否则不是。
以下是一个示例代码:
```java
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.nextLine();
scanner.close();
StringBuffer sb = new StringBuffer(str);
sb.reverse();
if (str.equals(sb.toString())) {
System.out.println(str + " 是对称字符串");
} else {
System.out.println(str + " 不是对称字符串");
}
}
}
```
注意:在Java中,StringBuffer是线程安全的,但是比较慢,如果不需要线程安全,建议使用StringBuilder。
编写一个c语言函数实现从源字符串中查找目标字符串,并进行替换
好的,以下是一个简单的 C 语言函数,可以实现从源字符串中查找目标字符串,并进行替换:
```c
#include <stdio.h>
#include <string.h>
void replace(char *src, char *target, char *replacement) {
int target_len = strlen(target);
int replacement_len = strlen(replacement);
char buffer[1024];
char *p;
while ((p = strstr(src, target)) != NULL) { // 查找目标字符串
strncpy(buffer, src, p - src); // 复制目标字符串前面的部分
buffer[p - src] = '\0';
strcat(buffer, replacement); // 拼接替换字符串
strcat(buffer, p + target_len); // 拼接目标字符串后面的部分
strcpy(src, buffer); // 复制替换后的字符串
}
}
int main() {
char src[1024] = "hello, world!";
char target[64] = "world";
char replacement[64] = "ChitChat";
replace(src, target, replacement);
printf("%s\n", src); // 输出替换后的字符串
return 0;
}
```
这个程序中的 `replace` 函数接受三个参数:源字符串 `src`、目标字符串 `target` 和替换字符串 `replacement`。函数中使用了 C 语言标准库中的 `strstr` 函数来查找目标字符串,并使用 `strncpy`、`strcat` 和 `strcpy` 等函数来进行字符串操作,最终将替换后的字符串复制给了源字符串 `src`。在 `main` 函数中,我们可以调用 `replace` 函数来实现字符串的替换。
阅读全文