Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sk.upjs.finalTerm.analyza;
- import java.io.File;
- import java.io.PrintWriter;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.Set;
- public class ToDoZapisnik {
- private List<ToDoPolozka> zoznam = new ArrayList<>();
- public void pridaj(ToDoPolozka polozka) {
- zoznam.add(polozka);
- }
- public static ToDoZapisnik zoSuboru(String nazovSuboru) {
- ToDoZapisnik result = new ToDoZapisnik();
- try (Scanner sc = new Scanner(new File(nazovSuboru))) {
- while (sc.hasNextLine()) {
- result.pridaj(ToDoPolozka.zoStringu(sc.nextLine()));
- }
- } catch (Exception e) {
- // TODO: handle exception
- }
- return result;
- }
- public void uloz(String nazovSuboru) {
- try (PrintWriter pw = new PrintWriter(new File(nazovSuboru))) {
- for (ToDoPolozka polozka : zoznam) {
- pw.println(polozka);
- }
- } catch (Exception e) {
- // TODO: handle exception
- }
- }
- @Override
- public String toString() {
- return null;
- }
- public int vratCasStudia() {
- int sucet = 0;
- for (ToDoPolozka polozka : zoznam) {
- sucet += polozka.getTrvanie();
- }
- return sucet;
- }
- public List<ToDoPolozka> vratNesplnenePolozky() {
- List<ToDoPolozka> nesplnene = new ArrayList<>();
- for (ToDoPolozka polozka : zoznam) {
- if (polozka.getDatum() == null) {
- nesplnene.add(polozka);
- }
- }
- return nesplnene;
- }
- public List<String> vratStudijneTemy() {
- Set<String> temy = new HashSet<>();
- for (ToDoPolozka polozka : zoznam) {
- temy.add(polozka.getTema());
- }
- List<String> result = new ArrayList<>();
- result.addAll(temy);
- return result;
- }
- public ToDoZapisnik vratZapisnikZTyzdna(int tyzden) {
- ToDoZapisnik zapisnik = new ToDoZapisnik();
- for (ToDoPolozka polozka : zoznam) {
- if (polozka.getTyzden() == tyzden) {
- zapisnik.pridaj(polozka);
- }
- }
- return zapisnik;
- }
- public ToDoPolozka najdiNajdlhsiuPolozku() {
- int najCas = 0;
- ToDoPolozka najPolozka = null;
- for (ToDoPolozka polozka : zoznam) {
- if (polozka.getTrvanie() > najCas) {
- najCas = polozka.getTrvanie();
- najPolozka = polozka;
- }
- }
- return najPolozka;
- }
- public boolean overPripravenostNaTest(int[] tyzdne) {
- Set<Integer> set = new HashSet<>();
- for (int i = 0; i < tyzdne.length; i++) {
- set.add(tyzdne[i]);
- }
- for (ToDoPolozka polozka : zoznam) {
- if (set.contains(polozka.getTyzden()) && polozka.getDatum() == null) {
- return false;
- }
- }
- return true;
- }
- public List<ToDoPolozka> vratRozpracovaneUlohy() {
- Set<ToDoPolozka> nedokoncene = new HashSet<>();
- Set<ToDoPolozka> dokoncene = new HashSet<>();
- for (ToDoPolozka polozka : zoznam) {
- if (polozka.getDatum() == null) {
- nedokoncene.add(polozka);
- } else {
- dokoncene.add(polozka);
- }
- }
- List<ToDoPolozka> rozpracovane = new ArrayList<>();
- for (ToDoPolozka polozka : nedokoncene) {
- if (dokoncene.contains(polozka)) {
- rozpracovane.add(polozka);
- }
- }
- return rozpracovane;
- }
- public Map<String, Integer> analyzujCasPodlaTypu() {
- Map<String, Integer> map = new HashMap<>();
- for (ToDoPolozka polozka : zoznam) {
- String typ = polozka.getTyp();
- if (map.containsKey(typ)) {
- map.put(typ, map.get(typ) + polozka.getTrvanie());
- } else {
- map.put(typ, polozka.getTrvanie());
- }
- }
- return null;
- }
- }
Add Comment
Please, Sign In to add comment