我的代码接收来自txt文件的所有单词,然后打印出数字1(计数)。我的程序的目的是接受所有的单词,如果它是重复的,但如果它是重复的我不希望它打印我希望它找到它的匹配,并添加一个计数。
Scanner in = new Scanner(new File(filename));
int i = 0;
int n = 1;
String w = "";
String txt = "";
while ((in.hasNext())) {
w = in.next() ;
wrd[i] = w;
num[i] = n;
i++;
txt = wrd[i];
}
答案 0 :(得分:4)
您想使用地图:
Map<String, Integer> map = new HashMap<String, Integer>();
...
while (in.hasNext()) {
String w = in.next();
if (map.containsKey(w)) { // Already in the map
map.put(w, map.get(w) + 1); // Increment the counter
} else { // First time w is found, initialize the counter to 1
map.put(w, 1);
}
}
基本上,地图将一个键(这里是你要计算的单词)与一个值(当前单词的出现次数)相关联。 containsKey
检查某个值是否与给定密钥相关联,get
检索该值(如果有),put
设置新值。