定义类实现,输入一段英文段落,统计段落中出现的英文单词个数,不同英文单词个数,每个英文单词出现的次数;使用String,ArrayList完成相应功能;
时间: 2024-02-19 21:58:21 浏览: 57
好的,我理解了你的问题。以下是一个Java程序,它可以实现你想要的功能:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class WordCounter {
public static void main(String[] args) {
// 读取输入的英文段落
Scanner scanner = new Scanner(System.in);
System.out.println("请输入英文段落:");
String paragraph = scanner.nextLine();
// 统计单词个数
String[] words = paragraph.split("\\W+");
int wordCount = words.length;
System.out.println("单词个数:" + wordCount);
// 统计不同单词个数和每个单词出现次数
HashMap<String, Integer> wordMap = new HashMap<>();
for (String word : words) {
int count = wordMap.getOrDefault(word, 0);
wordMap.put(word, count + 1);
}
int distinctWordCount = wordMap.size();
System.out.println("不同单词个数:" + distinctWordCount);
System.out.println("每个单词出现次数:");
for (String word : wordMap.keySet()) {
int count = wordMap.get(word);
System.out.println(word + ": " + count);
}
// 使用 ArrayList 保存单词列表
ArrayList<String> wordList = new ArrayList<>();
for (String word : words) {
if (!wordList.contains(word)) {
wordList.add(word);
}
}
System.out.println("单词列表:" + wordList);
}
}
```
这个程序使用 `Scanner` 类读取用户输入的英文段落。它首先使用 `split` 方法将段落分割成单词数组,然后统计单词个数、不同单词个数和每个单词出现次数。这些统计结果使用 `System.out.println` 打印出来。
此外,程序还使用 `ArrayList` 类保存单词列表。它遍历单词数组,将每个不同的单词添加到列表中,最后打印出列表。
阅读全文