大家好我有一个问题, 我必须找到一个文件中的单词重复次数,所以我写了这样的代码
公共课CountWords {
FileReader fr;
ArrayList<String> wordsList = new ArrayList<>();
public CountWords(String fname) {
try {
fr = new FileReader(fname);
Scanner s = new Scanner(fr);
while(s.hasNextLine()){
String[] parola = s.nextLine().split("[\\p{Blank}]|[\\p{Punct}&&\\p{Blank}]|[\\p{Punct}]");
for (int i = 0; i < parola.length;){
if (parola[i] == " "){
i ++;
}else {
wordsList.add(parola[i]);
i++;
}
}
}
s.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public List<String> getResult() {
ArrayList<String> res = new ArrayList<String>();
HashMap<String,Integer> set = new HashMap<>();
for(String slowa : wordsList) {
set.put(slowa, set.containsKey(slowa) ? set.get(slowa) + 1 : 1 );
}
for(String key : set.keySet()){
res.add(key + " " + set.get(key));
}
return res;
}
}
在最后一次尝试后,我把很多Puncts放在两个单词之间我有问题,输出给我在数组“parola”中的空格也是如何不包括数组中的空格?