使用Java中String Buffer中的方法编写一个程序,输出一个字符串中指定字符串出现的次数。
时间: 2024-04-05 14:29:17 浏览: 128
可以使用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。
设计一个类IsSubStringDemo,编写一个isSubString方法,该方法查找在另一个字符串里的特定字符串。如果字符串存在,该方法必须返回真。 使用StringBuffer编写一个Java程序,处理一篇中文文本文档,统计出整个文档中“的”字的数量
好的,根据您的要求,以下是IsSubStringDemo类的设计和isSubString方法的实现:
```java
public class IsSubStringDemo {
public static boolean isSubString(String str, String subStr) {
int strLen = str.length();
int subStrLen = subStr.length();
if (strLen < subStrLen) {
return false;
}
for (int i = 0; i <= strLen - subStrLen; i++) {
if (str.substring(i, i + subStrLen).equals(subStr)) {
return true;
}
}
return false;
}
}
```
接下来,以下是统计文档中“的”字数量的程序:
```java
import java.io.*;
public class CountThe {
public static void main(String[] args) throws IOException {
File file = new File("file.txt"); // 请替换成你的文件路径
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
StringBuffer buffer = new StringBuffer();
String line;
int count = 0;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
String text = buffer.toString();
for (int i = 0; i < text.length(); i++) {
if (text.charAt(i) == '的') {
count++;
}
}
System.out.println("文档中共有" + count + "个“的”字。");
}
}
```
注意:以上程序只能处理UTF-8编码的文本文件。如果你的文件编码不是UTF-8,请根据实际情况修改程序。
阅读全文