LukacikPavel

ToDoZapisnik

Dec 17th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.45 KB | None | 0 0
  1. package sk.upjs.finalTerm.analyza;
  2.  
  3. import java.io.File;
  4. import java.io.PrintWriter;
  5. import java.util.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.HashSet;
  8. import java.util.List;
  9. import java.util.Map;
  10. import java.util.Scanner;
  11. import java.util.Set;
  12.  
  13. public class ToDoZapisnik {
  14.  
  15.     private List<ToDoPolozka> zoznam = new ArrayList<>();
  16.  
  17.     public void pridaj(ToDoPolozka polozka) {
  18.         zoznam.add(polozka);
  19.     }
  20.  
  21.     public static ToDoZapisnik zoSuboru(String nazovSuboru) {
  22.         ToDoZapisnik result = new ToDoZapisnik();
  23.         try (Scanner sc = new Scanner(new File(nazovSuboru))) {
  24.             while (sc.hasNextLine()) {
  25.                 result.pridaj(ToDoPolozka.zoStringu(sc.nextLine()));
  26.             }
  27.         } catch (Exception e) {
  28.             // TODO: handle exception
  29.         }
  30.  
  31.         return result;
  32.  
  33.     }
  34.  
  35.     public void uloz(String nazovSuboru) {
  36.         try (PrintWriter pw = new PrintWriter(new File(nazovSuboru))) {
  37.             for (ToDoPolozka polozka : zoznam) {
  38.                 pw.println(polozka);
  39.             }
  40.         } catch (Exception e) {
  41.             // TODO: handle exception
  42.         }
  43.     }
  44.  
  45.     @Override
  46.     public String toString() {
  47.  
  48.         return null;
  49.  
  50.     }
  51.  
  52.     public int vratCasStudia() {
  53.         int sucet = 0;
  54.  
  55.         for (ToDoPolozka polozka : zoznam) {
  56.  
  57.             sucet += polozka.getTrvanie();
  58.  
  59.         }
  60.  
  61.         return sucet;
  62.  
  63.     }
  64.  
  65.     public List<ToDoPolozka> vratNesplnenePolozky() {
  66.         List<ToDoPolozka> nesplnene = new ArrayList<>();
  67.  
  68.         for (ToDoPolozka polozka : zoznam) {
  69.             if (polozka.getDatum() == null) {
  70.                 nesplnene.add(polozka);
  71.             }
  72.         }
  73.         return nesplnene;
  74.     }
  75.  
  76.     public List<String> vratStudijneTemy() {
  77.         Set<String> temy = new HashSet<>();
  78.  
  79.         for (ToDoPolozka polozka : zoznam) {
  80.             temy.add(polozka.getTema());
  81.         }
  82.         List<String> result = new ArrayList<>();
  83.         result.addAll(temy);
  84.  
  85.         return result;
  86.     }
  87.  
  88.     public ToDoZapisnik vratZapisnikZTyzdna(int tyzden) {
  89.         ToDoZapisnik zapisnik = new ToDoZapisnik();
  90.  
  91.         for (ToDoPolozka polozka : zoznam) {
  92.             if (polozka.getTyzden() == tyzden) {
  93.                 zapisnik.pridaj(polozka);
  94.             }
  95.         }
  96.         return zapisnik;
  97.     }
  98.  
  99.     public ToDoPolozka najdiNajdlhsiuPolozku() {
  100.         int najCas = 0;
  101.         ToDoPolozka najPolozka = null;
  102.        
  103.         for (ToDoPolozka polozka : zoznam) {
  104.             if (polozka.getTrvanie() > najCas) {
  105.                 najCas = polozka.getTrvanie();
  106.                 najPolozka = polozka;
  107.             }
  108.         }
  109.         return najPolozka;
  110.     }
  111.  
  112.     public boolean overPripravenostNaTest(int[] tyzdne) {
  113.         Set<Integer> set = new HashSet<>();
  114.  
  115.         for (int i = 0; i < tyzdne.length; i++) {
  116.             set.add(tyzdne[i]);
  117.         }
  118.  
  119.         for (ToDoPolozka polozka : zoznam) {
  120.             if (set.contains(polozka.getTyzden()) && polozka.getDatum() == null) {
  121.                 return false;
  122.             }
  123.         }
  124.         return true;
  125.     }
  126.  
  127.     public List<ToDoPolozka> vratRozpracovaneUlohy() {
  128.         Set<ToDoPolozka> nedokoncene = new HashSet<>();
  129.         Set<ToDoPolozka> dokoncene = new HashSet<>();
  130.         for (ToDoPolozka polozka : zoznam) {
  131.             if (polozka.getDatum() == null) {
  132.                 nedokoncene.add(polozka);
  133.             } else {
  134.                 dokoncene.add(polozka);
  135.             }
  136.         }
  137.         List<ToDoPolozka> rozpracovane = new ArrayList<>();
  138.         for (ToDoPolozka polozka : nedokoncene) {
  139.             if (dokoncene.contains(polozka)) {
  140.                 rozpracovane.add(polozka);
  141.             }
  142.         }
  143.         return rozpracovane;
  144.     }
  145.  
  146.     public Map<String, Integer> analyzujCasPodlaTypu() {
  147.         Map<String, Integer> map = new HashMap<>();
  148.  
  149.         for (ToDoPolozka polozka : zoznam) {
  150.             String typ = polozka.getTyp();
  151.             if (map.containsKey(typ)) {
  152.                 map.put(typ, map.get(typ) + polozka.getTrvanie());
  153.             } else {
  154.                 map.put(typ, polozka.getTrvanie());
  155.             }
  156.         }
  157.         return null;
  158.     }
  159.  
  160. }
Add Comment
Please, Sign In to add comment