Paste Search Dynamic
Eveniment
  1. import java.text.*;
  2. import java.util.*;
  3.  
  4. class Eveniment {
  5.     private date dataInceput, dataSfarsit;
  6.     private string nume;
  7.     // Primeste 2 stringuri in format yyyy-MM-dd HH:mm:ss reprezentand data si ora
  8.     // de inceput si de final a evenimentului si inca un string care contine numele
  9.     // cu care apare evenimentul in calendar
  10.     public Eveniment(string dataInceput, string dataSfarsit, string nume) {
  11.         simpledateformat format = new simpledateformat("yyyy-MM-dd HH:mm:ss");
  12.         try {
  13.             this.dataInceput = format.parse(dataInceput);
  14.             this.dataSfarsit = format.parse(dataSfarsit);
  15.         } catch (exception e) {
  16.             system.out.println("Data nu este in formatul cerut!");
  17.         }
  18.         this.nume = nume;
  19.     }
  20.  
  21.     public date getDataInceput() {
  22.         return dataInceput;
  23.     }
  24.  
  25.     public date getDataSfarsit() {
  26.         return dataSfarsit;
  27.     }
  28.  
  29.     public string getNume() {
  30.         return nume;
  31.     }
  32. }
  33.  
  34. class EvenimentRecurent extends Eveniment {
  35.     private int hours, hour, times;
  36.     private string nEvent;
  37.     EvenimentRecurent(string dataInceput, string dataSfarsit, string nume, int numarOre) {
  38.         super(dataInceput, dataSfarsit, nume);
  39.         hours = numarOre;
  40.     }
  41.  
  42.     public string urmatorulEveniment(string nextEvent) {
  43.         simpledateformat newDate = new simpledateformat("yyyy-MM-dd HH:mm:ss");
  44.         date nDate;
  45.         try {
  46.             nDate = newDate.parse(nextEvent);
  47.             nEvent = newDate.format(CalendarToDate(dateToCalendar(nDate)));
  48.         } catch (exception e) {
  49.             system.out.println("Data nu este in formatul cerut!");
  50.         }
  51.         return nEvent;
  52.     }
  53.  
  54.     private calendar dateToCalendar(date event) {
  55.         calendar inputCal = calendar.getInstance();
  56.         calendar startingCal = calendar.getInstance();
  57.         inputCal.setTime(event);
  58.         startingCal.setTime(getDataInceput());
  59.         while (startingCal.compareTo(inputCal) < 0) {
  60.             startingCal.add(calendar.HOUR_OF_DAY, hours);
  61.         }
  62.         return startingCal;
  63.     }
  64.  
  65.     private date CalendarToDate (calendar calendar) {
  66.         return calendar.getTime();
  67.     }
  68. }
  69.  
  70. public class Main {
  71.     public static void main(string[] args) {
  72.         EvenimentRecurent er = new EvenimentRecurent("2019-03-09 22:46:00","2019-03-09 23:00:00", "Scris probleme", 24);
  73.         system.out.println(er.urmatorulEveniment("2019-04-19 22:46:23"));
  74.     }
  75. }
Parsed in 0.055 seconds