Java 已知字符串:"this is a test of java", 编写一个程序,按要求执行以下操作:(1)统计该字符串中字母s出现的次数;(2)统计该字符串中子串[1] is出现的次数;(3)统计该字符串中单词 is出现的次数;(4)实现该字符串的倒序输出。
时间: 2024-11-25 09:11:49 浏览: 16
首先,让我们编写一个Java程序来完成这个任务:
```java
public class Main {
public static void main(String[] args) {
String str = "this is a test of java";
// (1) 统计 's' 出现的次数
int countS = str.replaceAll("[^a-zA-Z]", "").toLowerCase().split("s+").length - 1;
System.out.println("字母 's' 出现次数: " + countS);
// (2) 统计 "[1] is" 的出现次数,这里假设"[1]"始终紧跟在"is"后面
int countSubstr = str.split("\\b(is\\b)|\\bis\\b").length - 2; // 去除开头和结尾的空字符
System.out.println("子串 '[1] is' 出现次数: " + countSubstr);
// (3) 统计单词 "is" 出现的次数
countSubstr = str.split("\\bis\\b").length - 1;
System.out.println("单词 'is' 出现次数: " + countSubstr);
// (4) 实现字符串倒序输出
String reversedStr = new StringBuilder(str).reverse().toString();
System.out.println("倒序后的字符串: " + reversedStr);
}
}
```
上述代码首先将输入字符串转换为小写并移除非字母字符,然后统计 's' 的位置数量减一(因为最后一个 's' 后面没有其他 's'),得到第一部分的结果。接着通过正则表达式匹配 `[1] is` 或者 `is`,去除开头和结尾的空字符,计算出子串的次数。同样地,处理单词 "is" 时直接分隔即可。最后,利用StringBuilder的reverse()方法实现字符串的倒序。
运行此程序,你可以看到每个要求的统计结果以及倒序后的字符串。如果你需要帮助理解或修改代码,请随时告诉我。
阅读全文