用java判断集合中是否有“贾宝玉”元素,如果有,请添加一个“刘姥姥”元素。 样例输入: 林黛玉 薛宝钗 王熙凤 贾宝玉 贾宝玉
时间: 2024-01-21 16:17:03 浏览: 141
可以使用Java的集合类HashSet来实现,代码如下:
```java
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
HashSet<String> set = new HashSet<String>();
set.add("林黛玉");
set.add("薛宝钗");
set.add("王熙凤");
set.add("贾宝玉");
set.add("贾宝玉");
if (set.contains("贾宝玉")) {
set.add("刘姥姥");
}
System.out.println(set);
}
}
```
输出结果为:
```
[林黛玉, 王熙凤, 薛宝钗, 贾宝玉, 刘姥姥]
```
可以看到,已经成功将元素“刘姥姥”添加到集合中了。
相关问题
从互联网上下载《红楼梦》的某一回组成文本文件hlm.txt,然后设计一程序统计林黛玉和贾宝玉两个人名在文件中出现的次数。
可以使用Python语言来实现这个程序。
首先,需要读入文件并将其内容存储在一个字符串变量中。可以使用以下代码来实现:
```python
with open('hlm.txt', 'r', encoding='utf-8') as f:
content = f.read()
```
然后,可以使用Python的字符串操作函数来统计林黛玉和贾宝玉两个人名在文件中出现的次数。可以使用以下代码来实现:
```python
lin_count = content.count('林黛玉')
jia_count = content.count('贾宝玉')
print('林黛玉出现次数:', lin_count)
print('贾宝玉出现次数:', jia_count)
```
完整代码如下:
```python
with open('hlm.txt', 'r', encoding='utf-8') as f:
content = f.read()
lin_count = content.count('林黛玉')
jia_count = content.count('贾宝玉')
print('林黛玉出现次数:', lin_count)
print('贾宝玉出现次数:', jia_count)
```
运行程序后,会输出统计结果。
用Python统计红楼梦中与贾宝玉最亲密的十个人物并制作词云图
可以使用Python中的jieba和wordcloud库来实现。
首先,需要读入红楼梦文本文件。将文本文件中的内容存储到一个字符串中。
```python
with open('红楼梦.txt', 'r', encoding='utf-8') as f:
content = f.read()
```
接着,使用jieba库来进行中文分词,并进行词频统计。筛选出与贾宝玉关系较亲密的十个人物。
```python
import jieba
from collections import Counter
jieba.add_word('贾宝玉')
# 进行中文分词
words = jieba.cut(content)
# 筛选出与贾宝玉关系较亲密的人物
target_list = ['贾宝玉', '林黛玉', '薛宝钗', '王熙凤', '史湘云', '李纨', '贾母', '贾琏', '贾探春', '贾惜春']
count = Counter()
for word in words:
if word in target_list:
count[word] += 1
```
最后,使用wordcloud库生成词云图。
```python
from wordcloud import WordCloud
# 以字典形式存储词频
word_dict = dict(count)
# 生成词云图
wc = WordCloud(background_color='white', width=800, height=600, font_path='msyh.ttc')
wc.generate_from_frequencies(word_dict)
wc.to_file('wordcloud.png')
```
运行以上代码,即可生成一张以贾宝玉为中心的词云图,显示了与其关系较亲密的十个人物。