W pierwszej wersji tego kodu, wyliczało mi ile jest każdej literki w tekście. Mam go przerobić tak, aby policzył mi ile jest każdego słowa w tekście. Coś mi zaświtało, że może by użyć do tego substring ale nie mam pojęcia jak wskazać gdzie wyraz się kończy. Dopowiem, że robię to na tekście "Pana Tadeusza", czyli linijka po linijce. Proszę o pomoc.
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Map.Entry;
public class LiczenieSlow {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("plik2"));
String linia;
HashMap<String, Integer> ilosc = new HashMap<String, Integer>();
while ((linia = br.readLine()) != null) {
for (int i = 0; i < linia.length(); i++) {
if (!ilosc.containsKey(linia.substring(i, ??))) {
ilosc.put(linia.substring(i, ??), 1);
}else {
ilosc.put(linia.substring(i, ??),+1);
}
}
}
for (Entry<String, Integer> entry:ilosc.entrySet()) {
System.out.println(entry.getKey() + " x " + entry.getValue());
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}