java中统计英文单词数_统计单词数 Java
时间: 2023-10-23 16:25:30 浏览: 876
好的,我可以为您提供一些关于Java中统计英文单词数的方法。
方法一:使用Split()函数和正则表达式
可以通过使用Split()函数和正则表达式来将字符串按照空格分割成单词,然后统计单词数量。例如:
```java
public static int countWords(String text) {
String[] words = text.split("\\s+");
return words.length;
}
```
这个方法中,使用了正则表达式"\\s+",表示匹配任意空白字符(空格、制表符、换行符等),进行分割。然后返回单词数组的长度即可。
方法二:使用Java8中的Stream API
在Java8中,可以使用Stream API来进行单词的统计。例如:
```java
public static long countWords(String text) {
return Arrays.stream(text.split("\\s+"))
.filter(word -> word.matches("[a-zA-Z]+"))
.count();
}
```
这个方法中,首先使用Split()函数和正则表达式将字符串按照空格分割成单词,然后使用Stream API对每个单词进行过滤,只保留由字母组成的单词,最后返回统计结果。
以上两种方法都可以实现统计英文单词数的功能,您可以根据实际需要选择使用。
相关问题
java统计有多少个单词_Java不同单词个数统计
好的,针对你的问题,可以使用Java编写一个程序来实现统计不同单词的个数。具体实现步骤如下:
1. 定义一个HashMap对象,用来存储每个单词及其出现的次数。
2. 将输入的字符串按照空格分割成单词数组。
3. 遍历单词数组,将每个单词作为HashMap的key,出现的次数作为value存储到HashMap中。
4. 遍历HashMap,统计不同单词的个数,即HashMap的大小。
下面是具体的Java代码实现:
```java
import java.util.HashMap;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一段文本:");
String text = scanner.nextLine();
scanner.close();
HashMap<String, Integer> map = new HashMap<>();
String[] words = text.split(" ");
for (String word : words) {
if (map.containsKey(word)) {
int count = map.get(word);
map.put(word, count + 1);
} else {
map.put(word, 1);
}
}
int count = map.size();
System.out.println("不同单词的个数为:" + count);
}
}
```
运行程序,输入一段文本,程序即可输出不同单词的个数。注意,这里的单词是按照空格分割的,如果需要更复杂的单词分割规则,可以使用正则表达式等方式实现。
java:统计文章单词数
你可以使用Java的File和Scanner类来读取文章,然后使用String类的split()方法将文章拆分成单词数组。最后,使用循环和计数器统计单词数量。
以下是一个简单的示例代码:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
// 读取文件
File file = new File("article.txt");
Scanner scanner;
try {
scanner = new Scanner(file);
} catch (FileNotFoundException e) {
System.out.println("文件不存在");
return;
}
// 统计单词数量
int count = 0;
while (scanner.hasNext()) {
String[] words = scanner.next().split("[^a-zA-Z]+");
count += words.length;
}
// 输出结果
System.out.println("单词数量为:" + count);
// 关闭文件
scanner.close();
}
}
```
在上面的代码中,我们假设文章保存在名为`article.txt`的文件中。程序将读取该文件并统计单词数量。注意,我们使用正则表达式`[^a-zA-Z]+`来拆分单词,这表示除了字母以外的任何字符都将被视为分隔符。