将 for 循环外的 value/values 传递给变量 - java :: 处理
Passing a value/values outside of for loop to a variable - java :: processing
我正在研究如何将值字及其对应的计数传递到 for
循环之外的变量中。我的代码目前是:
import java.util.Iterator;
import java.util.*;
import com.google.common.collect.ImmutableMultiset;
import com.google.common.collect.Multiset;
import com.google.common.collect.Multisets;
ImmutableMultiset<String> top = null;
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);
}
}
我需要这些值才能将它们应用于我的 draw()
函数中的条形图。
您可以在 class 中声明变量,而不是在增强循环中局部声明。
例如
private String word;
private int count;
并使用 getter 调用它们
例如
public String getWord(){ return word; }
为了扩展 Murat 的回答,这是一个变量范围的问题。在 for 循环块内(在 {} 边界之间)声明的任何内容都只会在该块内可见。
如果在for循环块外声明count变量,就可以在包含for循环的块范围内使用它;在这种情况下,setup 方法。
Murat 的示例将允许您从任何地方获取此变量的值,无论它是在这个还是其他 class.
我正在研究如何将值字及其对应的计数传递到 for
循环之外的变量中。我的代码目前是:
import java.util.Iterator;
import java.util.*;
import com.google.common.collect.ImmutableMultiset;
import com.google.common.collect.Multiset;
import com.google.common.collect.Multisets;
ImmutableMultiset<String> top = null;
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);
}
}
我需要这些值才能将它们应用于我的 draw()
函数中的条形图。
您可以在 class 中声明变量,而不是在增强循环中局部声明。
例如
private String word;
private int count;
并使用 getter 调用它们
例如
public String getWord(){ return word; }
为了扩展 Murat 的回答,这是一个变量范围的问题。在 for 循环块内(在 {} 边界之间)声明的任何内容都只会在该块内可见。
如果在for循环块外声明count变量,就可以在包含for循环的块范围内使用它;在这种情况下,setup 方法。
Murat 的示例将允许您从任何地方获取此变量的值,无论它是在这个还是其他 class.