În această problemă va trebui să definești o clasă EvenimentRecurent. Ea trebuie să fie subclasă a clasei Eveniment și să conțină, în plus, următoarea metodă:
urmatorulEveniment(String) - această metodă primește un String care respectă formatul yyyy-MM-dd HH:mm:ss și returnează un String în același format care reprezintă următorul moment de timp când evenimentul va începe. Acel moment poate fi exact la momentul de timp primit ca parametru sau imediat după.
În plus, clasa va trebui să implementeze următorul constructor:
EvenimentRecurent(String dataInceput, String dataSfarsit, String nume, int numarOre)
unde numarOre reprezintă numărul de ore după care evenimentul are loc din nou. De exemplu, dacă număr ore este 24, înseamnă că evenimentul are loc o dată pe zi.
Restricții și precizări
Diferența de timp dintre data primită de urmatorulEveniment și rezultatul metodei nu va fi mai mare de 1 000 de zile
Pentru rezolvarea acestei probleme poți folosi orice clasă din java.util și java.text
Evenimentele se pot suprapune intre ele
import java.text.*;
import java.util.*;
class Eveniment {
private Date dataInceput, dataSfarsit;
private String nume;
// Primeste 2 stringuri in format yyyy-MM-dd HH:mm:ss reprezentand data si ora
// de inceput si de final a evenimentului si inca un string care contine numele
// cu care apare evenimentul in calendar
public Eveniment(String dataInceput, String dataSfarsit, String nume) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
this.dataInceput = format.parse(dataInceput);
this.dataSfarsit = format.parse(dataSfarsit);
} catch (Exception e) {
System.out.println("Data nu este in formatul cerut!");
}
this.nume = nume;
}
public Date getDataInceput() {
return dataInceput;
}
public Date getDataSfarsit() {
return dataSfarsit;
}
public String getNume() {
return nume;
}
}
// clasa ta aici...
public class prog {
public static void main(String[] args) {
EvenimentRecurent er = new EvenimentRecurent("2019-03-09 22:46:00",
"2019-03-09 23:00:00", "Scris probleme", 24);
System.out.println(er.urmatorulEveniment("2019-04-19 22:46:23"));
// 2019-04-20 22:46:00
}
}
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Ne vedem curând și nu uitați să ne adăugați la marcaje!