使用java,已知字符串:"this is a test of java".按要求执行以下操作: ① 统计该字符串中字母s出现的次数。 ② 统计该字符串中子串“is”出现的次数。 ③ 统计该字符串中单词“is”出现的次数。 ④ 实现该字符串的倒序输出。
时间: 2024-11-06 18:35:32 浏览: 20
在Java中,你可以使用`String`类的各种方法来完成这些任务。下面是一个示例程序,演示了如何执行这些操作:
```java
public class Main {
public static void main(String[] args) {
String str = "this is a test of java";
// ① 统计字母 's' 出现的次数
int sCount = countChar(str, 's');
System.out.println("字母 's' 出现的次数: " + sCount);
// ② 统计子串 "is" 出现的次数 (包括连续的情况)
int isSubstringCount = countSubsequence(str, "is");
System.out.println("子串 \"is\" 出现的次数: " + isSubstringCount);
// ③ 统计单词 "is" 的出现次数 (忽略空格)
int wordIsCount = countWords(str, "is");
System.out.println("单词 \"is\" 出现的次数: " + wordIsCount);
// ④ 实现字符串倒序输出
String reversedStr = reverseString(str);
System.out.println("字符串倒序: " + reversedStr);
}
// 辅助函数:统计字符出现次数
private static int countChar(String str, char ch) {
int count = 0;
for (char c : str.toCharArray()) {
if (c == ch) {
count++;
}
}
return count;
}
// 辅助函数:统计子序列出现次数
private static int countSubsequence(String str, String sub) {
int count = 0;
int i = 0;
while (i < str.length() && i < sub.length()) {
if (str.charAt(i) == sub.charAt(i)) {
count++;
i++;
} else {
i++;
}
}
return count;
}
// 辅助函数:统计单词出现次数(忽略空格)
private static int countWords(String str, String word) {
int start = -1;
int count = 0;
while ((start = str.indexOf(word, start + 1)) != -1) {
count++;
}
return count;
}
// 辅助函数:字符串倒序
private static String reverseString(String str) {
return new StringBuilder(str).reverse().toString();
}
}
```
运行这个程序会得到每个操作的结果。
阅读全文