мне интересно, если кто-то может объяснить, почему я получаю сообщение об ошибке со списком в методе getSordsInOrderOfFrequencyчастота слов в файле
public List<String> getWordsInOrderOfFrequency(){
List tmp = new ArrayList<String> (frequencies.keySet());
Collections.sort (tmp, this);
return tmp;
вот мой метод синтаксического разбора и частоты для справки:
public Parser() {
// do not change the constructor, this initializes an empty Map
frequencies = new HashMap<String, Integer>();
}
public void parse (String filename) throws IOException{
File file = new File(filename);
Scanner scanner = new Scanner(file);
Map<String, Integer> frequencies = new TreeMap<String, Integer>();
while(scanner.hasNext()){
String word = scanner.next().replaceAll("[^A-Za-z0-9]"," ").toLowerCase();
if(!frequencies.containsKey(word)){
frequencies.put(word, 1);
}
else{
frequencies.put(word, frequencies.get(word)+1);
}
}
}
Можете ли вы объяснить, как вам нужна помощь или что вы в настоящее время не понимаете? – drum
, поскольку это не проблема - StackOverflow - это сайт вопросов и ответов, а не сайт справки. –
Как указывает @LeleDumbo ниже, вы создаете локальную переменную в методе синтаксического анализа, которая скрывает переменную класса с тем же именем - это означает, что вы заполняете локальную переменную, а не переменную класса. – Jason