2. 编写程序, 将一个字符串中的单词解析出来, 然后将他们添加到一个 HashSet 中,并输出每个重复的单词个数、不重复的单词个数, 消除重复后的单词列 表。
时间: 2024-03-06 08:47:23 浏览: 103
下面是Java代码实现:
```java
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class WordParserDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = scanner.nextLine();
String[] words = str.split("\\s+"); // 使用正则表达式分割字符串
Set<String> set = new HashSet<>();
for (String word : words) {
set.add(word);
}
System.out.println("不重复的单词个数为:" + set.size());
System.out.println("消除重复后的单词列表为:" + set);
for (String word : set) {
int count = 0;
for (String w : words) {
if (word.equals(w)) {
count++;
}
}
System.out.println("单词 " + word + " 的重复个数为:" + count);
}
}
}
```
首先使用Scanner类从控制台获取用户输入的字符串,然后使用String的split()方法和正则表达式将字符串分割成单词,并将单词添加到HashSet中,实现去重。接着分别输出不重复的单词个数和消除重复后的单词列表。最后遍历HashSet,统计每个单词在原字符串中的重复次数,并输出重复个数。
阅读全文