package PAZ1a.task11;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class FrekvencnaAnalyza {
public void analyzujSubor(File subor) {
Scanner sc = null;
Map<Character, Integer> pocetVyskytov = new HashMap<>();
try {
sc = new Scanner(subor);
while (sc.hasNext()) {
String slovo = sc.next();
for (int i = 0; i < slovo.length(); i++) {
if (pocetVyskytov.containsKey(slovo.charAt(i))) {
// ak je
// zvysime pocet vyskytov
// precitat aktualny pocet vyskytov
// zvysit ho o jednotku a nanovo ulozit
int hodnota = pocetVyskytov.get(slovo.charAt(i));
hodnota++;
pocetVyskytov.put(slovo.charAt(i), hodnota);
} else {
// ak nie je
pocetVyskytov.put(slovo.charAt(i), 1);
}
}
}
} catch (FileNotFoundException e) {
System.err.println("jaj zle je");
} finally {
if (sc != null)
sc.close();
}
System.out.println(pocetVyskytov);
int pocetVypisov = Math.min(10, pocetVyskytov.size());
System.out.println(pocetVyskytov.size());
for (int i = 0; i < pocetVypisov; i++) {
// vypiste ktore pismeno sa v subore nachadza najviac krat
int hodnotaKandidata = 0;
char kandidat = ' ';
for (char kluc : pocetVyskytov.keySet()) {
if (pocetVyskytov.get(kluc) > hodnotaKandidata) {
hodnotaKandidata = pocetVyskytov.get(kluc);
kandidat = kluc;
}
}
System.out.println(kandidat);
pocetVyskytov.remove(kandidat);
}
}
}