我编码在BlueJ的和我所试图做的是这样的:
1.A)创建getWordSet()
在方法WordGroup
其中:
- 另需
WordGroup
对象作为参数 - 创建
a HashSet<String>
- 使用两个for循环把所有从这个词和参数
WordGroup
到HashSet
- 返回
HashSet<String>
1.B)在main
方法:
- 使用
getWordSet()
方法使用两个WordGroup
小号 - 迭代或环比
HashSet
返回,并从它打印的话
2.A)创建在一个方法WordGroup
称为getWordCounts()
其中:
- 创建
HashMap<String, Integer>
- 遍历返回的所有单词
getWordArray()
并把每个单词到HashMap
与它发生的次数 - 返回
HashMap<String, Integer>
2.B)在main
方法:
- 调用
getWordCounts()
上的两个WordGroup
小号 - 使用
keySet()
来检索密钥的集合(映射的字符串部分) - 遍历这个集合,并打印出来的字和它的两个计数
WordGroup
小号 - 使用
getWordSet()
方法,使全套的话都来自WordGroup
小号 - 循环在新
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);
}
}
}
WordGroup类:
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>;
}
}
到目前为止,我已经得到了这个,现在我卡住了。 我无法弄清楚如何从德数组HashSet中和HashMap,以及如何在需要的形式回报他们得到的话。 PS关于奇怪的问题,遗憾的版图串保持HashSet的后消失,如果它是不是在代码格式)