Facebook
From fsafsa, 3 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 69
  1.  
  2. import java.time.LocalTime;
  3. import java.time.format.DateTimeFormatter;
  4. import java.util.Scanner;
  5.  
  6. public class Main {
  7.  
  8.     static Scanner scanner = new Scanner(System.in);
  9.     static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("H:m");
  10.     public static void main(String[] args) {
  11.         Kalendarz kalendarz = new Kalendarz();
  12.         boolean info = true;
  13.         do {
  14.             System.out.println("KALENDARZ");
  15.             opcje();
  16.             switch (scanner.next()) {
  17.                 case "1":
  18.                     dodajZdarzenie(kalendarz);
  19.                     break;
  20.                 case "2":
  21.                     usunZdarzenie(kalendarz);
  22.                     break;
  23.                 case "3":
  24.                     modyfikujZdarzenie(kalendarz);
  25.                     break;
  26.                 case "4":
  27.                     wyswietlZdarzenie(kalendarz);
  28.                     break;
  29.                 case "5":
  30.                     info = false;
  31.                     break;
  32.                 default:
  33.                     System.out.println("Nie ma takiej opcji, spr├│buj jeszcze raz:");
  34.                     break;
  35.             }
  36.         } while (info == true);
  37.     }
  38.     public static void opcje() {
  39.         System.out.println("Dodaj zdarzenie                  - 1");
  40.         System.out.println("Usu┼ä  zdarzenie                  - 2");
  41.         System.out.println("Modyfikuj zdarzenie              - 3");
  42.         System.out.println("Wy┼Ťwietl zdarzenie z danego dnia - 4");
  43.         System.out.println("Wyjd┼║ z kalendarza               - 5");
  44.     }
  45.     public static void dniTygodnia() {
  46.         System.out.println("Poniedzia┼éek - 1");
  47.         System.out.println("Wtorek       - 2");
  48.         System.out.println("Sroda        - 3");
  49.         System.out.println("Czwartek     - 4");
  50.         System.out.println("Pi─ůtek       - 5");
  51.         System.out.println("Sobota       - 6");
  52.         System.out.println("Niedziela    - 7");
  53.     }
  54.     public static void dodajZdarzenie(Kalendarz kalendarz) {
  55.         Scanner sc = new Scanner(System.in);
  56.         int dzien;
  57.         String czasRozpoczecia, czasZakonczenia, tresc;
  58.         LocalTime terminRozpoczecia, terminZakonczenia;
  59.         do {
  60.             System.out.println("Wybierz dzie┼ä tygodnia do kt├│rego chcesz doda─ç zdarzenie za pomoc─ů numer├│w: ");
  61.             dniTygodnia();
  62.             dzien = scanner.nextInt();
  63.         } while(poprawnoscDnia(dzien) == false);
  64.         System.out.println("Wpisz godzin─Ö rozpocz─Öcia zdarzenia, podaj w foramcie:'Godzina:minuta' ");
  65.         czasRozpoczecia = sc.nextLine();
  66.         terminRozpoczecia = LocalTime.parse(czasRozpoczecia, formatter);
  67.         do {
  68.             System.out.println("Wpisz godzin─Ö zako┼äczenia zdarzenia, podaj w foramcie:'Godzina:minuta' ");
  69.             czasZakonczenia = sc.nextLine();
  70.             terminZakonczenia = LocalTime.parse(czasZakonczenia, formatter);
  71.             if(terminZakonczenia.isAfter(terminRozpoczecia) == false)
  72.                 System.out.println("Termin zako┼äczenia nie mo┼╝e wyst─Öpowa─ç przed terminem rozpocz─Öcia. Spr├│buj ponownie");
  73.         } while (terminZakonczenia.isAfter(terminRozpoczecia) == false);
  74.         System.out.println("Podaj tre┼Ť─ç zdarzenia: ");
  75.         tresc = sc.nextLine();
  76.         Zdarzenie zdarzenie = new Zdarzenie(terminRozpoczecia, terminZakonczenia, tresc);
  77.         if(kalendarz.dodajZdarzenie(dzien, zdarzenie) == true) {
  78.             System.out.println("Zdarzenie zosta┼éo dodane");
  79.         }
  80.         else
  81.             System.out.println("Istnieje ju┼╝ zdarzenie o tej godzinie, spr├│buj ponownie:");
  82.     }
  83.     public static void usunZdarzenie(Kalendarz kalendarz) {
  84.         Scanner sc = new Scanner(System.in);
  85.         int dzien;
  86.         String czasRozpoczecia;
  87.         LocalTime terminRozpoczecia;
  88.         do {
  89.             System.out.println("Podaj dzie┼ä tygodnia z kt├│rego chcesz usun─ů─ç zdarzenie za pomoc─ů liczby: ");
  90.             dniTygodnia();
  91.             dzien = scanner.nextInt();;
  92.         } while(poprawnoscDnia(dzien) == false);
  93.         System.out.println("Wybierz godzin─Ö z kt├│rej chcesz usun─ů─ç zdarzenie, podaj w formacie 'Godzina:minuta' ");
  94.         czasRozpoczecia = sc.nextLine();
  95.         terminRozpoczecia = LocalTime.parse(czasRozpoczecia, formatter);
  96.         if(kalendarz.usunZdarzenie(dzien, terminRozpoczecia) == true) {
  97.             System.out.println("Zdarzenie zosta┼éo usuniete");
  98.         }
  99.         else System.out.println("Termin nie by┼é zaj─Öty");
  100.     }
  101.     public static void modyfikujZdarzenie(Kalendarz kalendarz) {
  102.         Scanner sc = new Scanner(System.in);
  103.         int dzien;
  104.         String czasRozpoczecia, czasZakonczenia, tresc;
  105.         LocalTime terminRozpoczecia, nowyTerminRozpoczecia, terminZakonczenia;
  106.         do {
  107.             System.out.println("Podaj dzie┼ä tygodnia w kt├│rym chcesz zmodyfikowa─ç zdarzenie za pomoc─ů liczby: ");
  108.             dniTygodnia();
  109.             dzien = scanner.nextInt();
  110.         } while(poprawnoscDnia(dzien) == false);
  111.         System.out.println("Wpisze godzin─Ö zdarzenia do modyfikacji, podaj w formacie 'Godzina:minuta' ");
  112.         czasRozpoczecia = sc.nextLine();
  113.         terminRozpoczecia = LocalTime.parse(czasRozpoczecia, formatter);
  114.         System.out.println("Wpisze nowa godzin─Ö zdarzenia do modyfikacji, podaj w formacie 'Godzina:minuta' ");
  115.         czasRozpoczecia = sc.nextLine();
  116.         nowyTerminRozpoczecia = LocalTime.parse(czasRozpoczecia, formatter);
  117.         do {
  118.             System.out.println("Wybierz nowa godzin─Ö zako┼äczenia zdarzenia, podaj w formacie 'Godzina:minuta' ");
  119.             czasZakonczenia = sc.nextLine();
  120.             terminZakonczenia = LocalTime.parse(czasZakonczenia, formatter);
  121.             if(terminZakonczenia.isAfter(terminRozpoczecia) == false)
  122.                 System.out.println("Termin zako┼äczenia nie mo┼╝e wyst─Öpowa─ç przed terminem rozpocz─Öcia. Spr├│buj ponownie");
  123.         } while (terminZakonczenia.isAfter(terminRozpoczecia) == false);
  124.         System.out.println("Podaj nowa tre┼Ť─ç modyfikowanego zdarzenia: ");
  125.         tresc = sc.nextLine();
  126.         Zdarzenie zdarzenie = new Zdarzenie(nowyTerminRozpoczecia, terminZakonczenia, tresc);
  127.         if(kalendarz.modyfikujZdarzenie(dzien, terminRozpoczecia, zdarzenie)) {
  128.             System.out.println("Zdarzenie zosta┼éo zmodyfikowane");
  129.         } else {
  130.             System.out.println("Zdarzenie nie zostalo zmodyfikowane - nie ma zdarzenia o takiej godzine lub istnieje zdarzenie o nowej godzinie");
  131.         }
  132.     }
  133.     public static void wyswietlZdarzenie(Kalendarz kalendarz) {
  134.         int dzien;
  135.         do {
  136.             System.out.println("Podaj dzie┼ä tygodnia, z kt├│rego chcesz wy┼Ťwietli─ç zdarzenia za pomoc─ů liczby: ");
  137.             dniTygodnia();
  138.             dzien = scanner.nextInt();
  139.         } while(poprawnoscDnia(dzien) == false);
  140.         if(kalendarz.getDzien(dzien).size() == 0) {
  141.             System.out.println("Brak zdarze┼ä do wy┼Ťwietlenia w tym dniu");
  142.         }
  143.         for(Zdarzenie z: kalendarz.getDzien(dzien)) {
  144.             System.out.println(z);
  145.         }
  146.     }
  147.     public static boolean poprawnoscDnia(int dzien) {
  148.         if(dzien > 7 || dzien < 1) {
  149.             System.out.println("Nie ma takiego dnia, podaj ponownie");
  150.             return false;
  151.         } else
  152.             return true;
  153.     }
  154. }
  155.