我用blueJ编码,我想做的是:
1.a)在WordGroup
中创建一个getWordSet()
方法,该方法:
字组
对象作为参数哈希集
1.b)在
main
方法中:
使用两个WordGroup
s
2.a)在
WordGroup
中创建一个名为getWordCounts()
的方法,该方法:
创建哈希映射
2.b)在
main
方法中:
在两个WordGroup
s
到目前为止,我的代码是:
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,以及如何以所需的形式返回它们。p、 很抱歉wierd问题布局——如果不是代码格式,字符串在hashset之后会一直消失)
这里有一些基本的错误,在你继续前进之前,你需要解决。
让我们先看看这个方法。
public HashSet<String> getWordSet(){
HashSet<String> set = new HashSet<String>();
for (String words : quoteOne){
words.add(word);
}
return words;
}
现在,您还没有将quoteOne
设置为任何值,至少在本课程中没有。您希望它是调用getWordArray()
的返回值。因此,最好包括这一行
String[] quoteOne = getWordArray();
在这个方法的某个地方。
接下来,您将尝试重用一个变量名。这个类中已经有了单词
,因此为了避免混淆,最好对循环中使用的字符串
变量使用不同的名称。
现在,您正在尝试将字符串添加到word
,而实际上您想将它们添加到set
,因为set
是从这个方法返回的东西。因此,除了用add
更改行之外,您还需要用back
更改行,以使所有内容都匹配。
因此,请仔细考虑每个变量的用途,并确保正确使用它们。其中一些类型的错误会被编译器捕获,但这并不是随意使用变量的借口。
实际上,有一些较短的方法可以将数组转换为哈希集
,但我认为,如果您先使用这种方法,尝试将其正确化,这将是一个很好的练习。
现在我们来看下一种方法。
public HashMap<String, Integer> getWordCounts() {
HashMap<String, Integer> map = new HashMap<String, Integer>();
for (String words : words) {
words.add(word);
}
return HashMap<String, Integer>;
}
你的基本想法是正确的,但你错过了几个关键步骤。首先,就像前面的方法一样,需要调用getWordArray()
。但现在,你还需要一步。
在循环中迭代时,需要使用get
方法查看HashMap
,以查看是否已经在那里记录了特定的单词。如果是这样的话,你需要查看它记录了什么Integer
,添加一个,然后把它放回地图中。如果没有,你可以不做任何算术就把东西放到地图上。
另外,请注意,向任何类型的映射添加内容的方法不是add
,而是put
,它需要两个参数——键和值。所以在你的逻辑中的某个时刻,你可能会有这样一条线
map.put(word, 1);
您可以在此调用中看到键和值。
最后,考虑一下返回语句。您要返回一个变量,而不是它的类型。你能猜出你将在那里使用哪个变量吗?
祝你顺利完成任务。我试着给你指出正确的方向,而不是为你做太多。
问题内容: 是否可以在Swift中将字符串的每个单词放入数组中? 例如: 至: 谢谢 :) 问题答案: 编辑/更新: Xcode 10.2•Swift 5或更高版本 我们可以使用集合拆分方法进行扩展 设置为true并通过闭包作为谓词。我们还可以利用new 属性来分割字符串。
问题内容: 我当前正在从文本文件中读取200万行,如上一个问题中所述 。Java读取200万行文本文件的最快方法 现在,我将这些信息存储到HashMap中,并希望通过TreeMap对其进行排序,因为我想使用ceilingkey。以下方法正确吗? 问题答案: HashMap hashMap = new HashMap (); TreeMap treeMap = new TreeMap (); tre
问题内容: 对于请求和JSON,我是一个菜鸟。在我的应用程序内部,我发送到服务器并取回东西,因此我可以使用它。我尝试查找不同的东西,但似乎并没有真正找到我想要的东西。所以我找回了似乎格式化为JSON的内容。我想知道如何将其放入NSMutable数组中。我获取此JSON的方法是使用AFNetworking的AFJSONRequestOperation。 我的回应看起来像这样。 问题答案: 如果您的J
问题内容: 我建立了一个由Hashmap中定义的nameValue对组成的json对象 我遇到的问题是当我调用时: 它像这样添加nameValue对: 代替 有什么想法吗? 谢谢 问题答案: 遍历HashMap并放入jsonObject:
我试图让多个消费者线程侦听一个生产者线程,直到生产者有东西要发布。我认为可以工作的代码在放入和取出共享类时“丢失”了锁。 在控制器类中,我启动运行Server server=new Server()的线程; consumer类将线程的详细信息放入映射中,如下所示: 共享类仅为: 服务器有以下run()方法: 输出如下: 从服务器类的输出int中,我可以看到,当我从映射中读取锁时,它现在的状态为“U
我不确定如何开始这个,希望得到一些想法,可以帮助我。 我的代码示例: