这是我的第一个问题,为我在寻求帮助时所犯的任何错误道歉!
我正在尝试从Processing中的文本文件中对5个最重复的单词进行排序,我对这个我不断得到的错误感到困惑。我是Java的新手,在搜索互联网之后,我所做的任何改变似乎都没有帮助。我需要做些什么才能修改以解决问题?
以下是有问题的代码 -
import java.util.Iterator;
import com.google.common.collect.ImmutableMultiset;
import com.google.common.collect.Multiset;
import com.google.common.collect.Multisets;
void setup() {
size(800, 480);
smooth();
String[] data = loadStrings("data/data.txt");
ImmutableMultiset<String> myMultiset = ImmutableMultiset.copyOf(data);
top = Multisets.copyHighestCountFirst(myMultiset);
}
Iterator it = top.entrySet().iterator();
for (int i = 0; (i < 5) && it.hasNext(); i++) {
Multiset.Entry entry = (Multiset.Entry) it.next();
String word = (String) entry.getElement();
int count = entry.getCount();
System.out.println(word + " -> " + count);
}
请提前感谢您的帮助!!
答案 0 :(得分:1)
我编辑修复你的缩进,你似乎在最后一行有一个额外的括号。如果您从函数内部复制for循环,并意外复制了函数的右括号,请向我们展示函数的其余部分。
答案 1 :(得分:0)
top = Multisets.copyHighestCountFirst(myMultiset);
}
看起来这个支撑不合适。
你打算结束你的设置&#34;方法在这? 如果是这样的话,你就不能拥有像sysout这样的东西,而且不会在方法中,也不会在最后有一个额外的支撑。
尝试将其余代码放入如下方法中:
void iteratorMethod(){
Iterator it = top.entrySet().iterator();
for (int i = 0; (i < 5) && it.hasNext(); i++) {
Multiset.Entry entry = (Multiset.Entry) it.next();
String word = (String) entry.getElement();
int count = entry.getCount();
System.out.println(word + " -> " + count);
}
}
请注意,您必须在设置方法的最后一行调用iteratorMethod()
(假设您要执行的操作)。