我正在用 blueJ 编码,我想做的是:
1.a)创建一个getWordSet()
方法,WordGroup
其中:
- 将另一个
WordGroup
对象作为参数 - 创建
a HashSet<String>
- 使用两个 for 循环将 this 中的所有单词和参数
WordGroup
放入HashSet
- 返回
HashSet<String>
1.b)在main
方法中:
- 使用
getWordSet()
使用两个WordGroup
s的方法 - 迭代或循环
HashSet
返回并从中打印单词
2.a)WordGroup
在被调用的方法中创建一个方法getWordCounts()
:
- 创建一个
HashMap<String, Integer>
- 循环返回的所有单词并将
getWordArray()
每个单词放入HashMap
- 返回
HashMap<String, Integer>
2.b)在main
方法中:
- 打电话
getWordCounts()
给两个WordGroup
s - 用于
keySet()
检索键集(映射的字符串部分) WordGroup
循环这个集合并打印出两个s的单词及其计数- 使用该
getWordSet()
方法将两个WordGroup
s中的所有单词组成完整的集合 - 循环 new以打印所有单词的完整列表,其中包含每个s
HashSet
的总计数HashMap
到目前为止我的代码:
public class Main{
public static void main(String[] args){
WordGroup wordgroupOne= new WordGroup ("You can discover more about a person in an hour of play than in a year of conversation");
WordGroup wordgroupTwo= new WordGroup ( "When you play play hard when you work dont play at all");
String[] quoteOne = wordgroupOne.getWordArray();
String[] quoteTwo = wordgroupTwo.getWordArray();
for (String words : quoteOne){
System.out.println(words);
}
for (String words : quoteTwo){
System.out.println(words);
}
}
}
词组类:
import java.util.HashSet;
import java.util.HashMap;
public class WordGroup {
public String words;
public WordGroup (String getWords){
words = getWords.toLowerCase();
}
public String[] getWordArray(){
return words.split(" ");
}
public HashSet<String> getWordSet(){
HashSet<String> set = new HashSet<String>();
for (String words : quoteOne){
words.add(word);
}
return words;
}
public HashMap<String, Integer> getWordCounts() {
HashMap<String, Integer> map = new HashMap<String, Integer>();
for (String words : words) {
words.add(word);
}
return HashMap<String, Integer>;
}
}
我已经走了这么远,现在我被困住了。我无法弄清楚如何将 teh 数组中的单词放入 hashset 和 hashmap 以及如何以所需的形式返回它们。ps 对奇怪的问题布局感到抱歉 - 如果它不是代码格式,则字符串在 hashset 之后一直消失)