Java统计任意一个字符串中的英文单词总数、最长单词的长度、最短单词的长度、单词的平均长度
时间: 2024-03-16 10:45:14 浏览: 109
可以使用正则表达式来匹配字符串中的单词,然后进行统计和计算。
以下是一个示例代码:
```java
public static void main(String[] args) {
String str = "Hello world, this is a test string.";
// 统计单词数
int wordCount = str.split("\\b").length - 1;
System.out.println("Word count: " + wordCount);
// 查找最长和最短单词
String[] words = str.split("\\W+"); // 匹配字母或数字以外的字符
int maxLength = 0;
int minLength = Integer.MAX_VALUE;
for (String word : words) {
int length = word.length();
if (length > maxLength) {
maxLength = length;
}
if (length < minLength) {
minLength = length;
}
}
System.out.println("Max length: " + maxLength);
System.out.println("Min length: " + minLength);
// 计算单词平均长度
int totalLength = 0;
for (String word : words) {
totalLength += word.length();
}
double avgLength = (double) totalLength / wordCount;
System.out.println("Avg length: " + avgLength);
}
```
输出结果为:
```
Word count: 7
Max length: 6
Min length: 1
Avg length: 3.5714285714285716
```
其中,`\b` 表示单词边界,`\W` 表示非字母或数字字符。
阅读全文