期待 EOF,发现 'for' - 正在处理
Expecting EOF, found 'for' - Processing
这是我的第一个问题,对于我在寻求帮助时所犯的任何错误表示歉意!
我正在尝试对 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);
}
在此先感谢您的帮助!!
我进行了编辑以修复您的缩进,您似乎在最后一行多了一个大括号。如果您从函数内部复制了 for 循环,并且不小心复制了函数的右大括号,请向我们展示函数的其余部分。
top = Multisets.copyHighestCountFirst(myMultiset);
}
这里的括号好像不对
您打算在这里结束您的 "setup" 方法吗?
如果是这样,你就不能在方法中使用 sysout 和 for 之类的东西,也不能在末尾有一个额外的大括号。
尝试将其余代码放入如下方法中:
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()
(假设这是您想要执行的操作)。
这是我的第一个问题,对于我在寻求帮助时所犯的任何错误表示歉意!
我正在尝试对 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);
}
在此先感谢您的帮助!!
我进行了编辑以修复您的缩进,您似乎在最后一行多了一个大括号。如果您从函数内部复制了 for 循环,并且不小心复制了函数的右大括号,请向我们展示函数的其余部分。
top = Multisets.copyHighestCountFirst(myMultiset);
}
这里的括号好像不对
您打算在这里结束您的 "setup" 方法吗? 如果是这样,你就不能在方法中使用 sysout 和 for 之类的东西,也不能在末尾有一个额外的大括号。
尝试将其余代码放入如下方法中:
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()
(假设这是您想要执行的操作)。