Имам проблем с програма, която създава честотна карта на дума за даден документ в Java. Когато отпечатвам всички думи, аз все още виждам "" като "дума".
Ето и перифразирания код:
String delimiters = "[^a-zA-Z0-9]+";
String[] words;
SortedSet<String> allWords = new TreeSet<String>();
Map<String, Map<String, Integer>> wordMap = new HashMap<String, Map<String, Integer>>();
while ((line = bufferedReader.readLine()) != null) {
words = line.split(delimiters);
for all words add the word to the allWords set and the wordMap
}
for (String word : allWords) {
System.out.println(word + " : " + wordMap.get(word).entrySet());
}
Ето някои примерни резултати:
Time elapsed: 0.75 seconds.
: [books/dickens.txt=7] // WHAT ARE YOU?!?! How does this happen??!?!
10 : [books/dickens.txt=2]
11th : [books/dickens.txt=2]
12th : [books/dickens.txt=2]
Как се показва това бяло пространство? Благодаря
ps, ако искате да видите пълния код тук връзка
Отговори:
5 за отговор № 1Това не е бяло пространство, а празен низ. Това се случва, когато имате празни редове във файла.
правиш нещо подобно
words = "".split(delimiters);
води до масив с един елемент и този елемент е празен низ.