A11

Streda

package PAZ1a.task11;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import java.util.Scanner;

import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {

                Scanner skenerZKonzoli = new Scanner(System.in);
                skenerZKonzoli.useLocale(Locale.US);

                // vytvorim si odkladaci priestor na nacitane cisla
                // List list = new LinkedList();
                // ArrayList mnozinacisel = new ArrayList()
                List<Double> zoznamCisel = new LinkedList<>();

                // nacitavame z konzoly cisla
                // cisla si ukladam do ???
                // ak mam zapornu hodnotu koncim nacitavanie cisel
                while (skenerZKonzoli.hasNextDouble()) {
                        double cislo = skenerZKonzoli.nextDouble();
                        // System.out.println("precital som cislo " + cislo);
                        if (cislo >= 0) {
                                zoznamCisel.add(cislo);
                        } else {
                                break;
                        }
                }

                // vypocitame priemer
                // prechod pomocou iteratora
//              double priemer = 0;
//              Iterator<Double> prieskumnik = zoznamCisel.iterator();
//              while (prieskumnik.hasNext()) {
//                      double aktualnyPrvok = prieskumnik.next();
//                      priemer = priemer + aktualnyPrvok;
//              }
//              priemer = priemer / zoznamCisel.size();

                // vypocitame priemer
                // prechod pomocou for-each cyklu
                double priemer = 0;
                for (Double aktualnyPrvok : zoznamCisel) {
                        priemer = priemer + aktualnyPrvok;
                }
                priemer = priemer / zoznamCisel.size();

                // vypocitame priemer
                // prechod pomocou for cyklu
//              double priemer = 0;
//              for (int i = 0; i < zoznamCisel.size(); i++) {
//                      double aktualnyPrvok = zoznamCisel.get(i);
//                      priemer = priemer + aktualnyPrvok;
//              }
//              priemer = priemer / zoznamCisel.size();

                // System.out.println(priemer);

                // utriedit zoznam
//              System.out.println(zoznamCisel);
                Collections.sort(zoznamCisel);
//              System.out.println(zoznamCisel);

                // vypisem z utriedeneho zoznamu iba cisla mensie ako priemer
                Iterator<Double> prechadzac = zoznamCisel.iterator();
                while (prechadzac.hasNext()) {
                        double aktualnyPrvok = prechadzac.next();
                        if (aktualnyPrvok < priemer) {
                                System.out.println(aktualnyPrvok);
                        }
                }

                // koniec :)
        }
}
package PAZ1a.task11;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class SpolocnePrednasky {

        public void vypisSpolocnePrednasky(File subor) {
                // nacitat subor po riadkoch
                // kazdy riadok ulozit do mnoziny
                // spravit prienik mnozin (riadkov)
                // vrat prienik

                Scanner sc = null;
                try {
                        sc = new Scanner(subor);
                        while (sc.hasNextLine()) {
                                String riadok = sc.nextLine();
                                System.out.println(spracujRiadok(riadok));
                        }

                } catch (FileNotFoundException e) {
                        System.err.println("jaj zle je");
                } finally {
                        if (sc != null)
                                sc.close();
                }
        }

        private Set<String> spracujRiadok(String riadok){
                Set<String> mnozinaPredmetovZRiadku = new HashSet<>();
                Scanner skenerRiadku = new Scanner(riadok);
                while(skenerRiadku.hasNext()) {
                        mnozinaPredmetovZRiadku.add(skenerRiadku.next().toLowerCase());
                }
                return mnozinaPredmetovZRiadku;
        }
}
 
package PAZ1a.task11;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class LauncherPrednasky {

        public static void main(String[] args) {
                File subor = new File("predmety.txt");
                SpolocnePrednasky sp = new SpolocnePrednasky();
                sp.vypisSpolocnePrednasky(subor);

        }

}
 

Streda

package PAZ1a.task11;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class SpolocnePrednasky {

        public Set<String> vypisSpolocnePrednasky(File subor) {
                // nacitat subor po riadkoch
                // kazdy riadok ulozit do mnoziny
                // spravit prienik mnozin (riadkov)
                // vrat prienik

                Set<String> prienikVsetkychRiadkov = null;
                Scanner sc = null;
                try {
                        sc = new Scanner(subor);
                        if (sc.hasNextLine()) {
                                String riadok = sc.nextLine();
                                prienikVsetkychRiadkov = spracujRiadok(riadok);
                                // System.out.println(prienikVsetkychRiadkov);
                        } else {
                                System.out.println("subor je prazdny :( teda aj prienik je prazdny");
                        }

                        while (sc.hasNextLine()) {
                                String riadok = sc.nextLine();
//                              System.out.println(spracujRiadok(riadok));
                                Set<String> mnozinaPredmetovZRiadku = spracujRiadok(riadok);
                                prienikVsetkychRiadkov.retainAll(mnozinaPredmetovZRiadku);
                                // System.out.println(prienikVsetkychRiadkov);
                        }
                        System.out.println("predmety navstevovane vsetkymi studentmi su " + prienikVsetkychRiadkov);

                } catch (FileNotFoundException e) {
                        System.err.println("jaj zle je");
                } finally {
                        if (sc != null)
                                sc.close();
                }
                return prienikVsetkychRiadkov;
        }

        private Set<String> spracujRiadok(String riadok) {
                Set<String> mnozinaPredmetovZRiadku = new HashSet<>();
                Scanner skenerRiadku = new Scanner(riadok);
                while (skenerRiadku.hasNext()) {
                        mnozinaPredmetovZRiadku.add(skenerRiadku.next().toLowerCase());
                        System.out.println(mnozinaPredmetovZRiadku);
                }
                return mnozinaPredmetovZRiadku;
        }
}
 
package PAZ1a.task11;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

public class LauncherPrednasky {

        public static void main(String[] args) {
                File subor = new File("predmety.txt");
                SpolocnePrednasky sp = new SpolocnePrednasky();
                Set<String> vyslednyPrienik = sp.vypisSpolocnePrednasky(subor);
                // Ako ziskat zoznam ktory ma prvky mnoziny?
                // List<String> zoznamZMnoziny = new ArrayList<>();
//              for (String prvok : vyslednyPrienik) {
//                      zoznamZMnoziny.add(prvok);
//              }
                List<String> zoznamZMnoziny = new ArrayList<>(vyslednyPrienik);
        }

}
 
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);
                }

        }
}
 
package PAZ1a.task11;

import java.io.File;

public class LauncherFrekvencnaAnalyza {

        public static void main(String[] args) {
                FrekvencnaAnalyza fa = new FrekvencnaAnalyza();
                File subor = new File("predmety.txt");
                fa.analyzujSubor(subor);

        }

}