diff --git a/DEV.2.1/TP/TP4-ClassesetObjet/Lendemain.java b/DEV.2.1/TP/TP4-ClassesetObjet/Lendemain.java index 58d3465..c6b61f9 100644 --- a/DEV.2.1/TP/TP4-ClassesetObjet/Lendemain.java +++ b/DEV.2.1/TP/TP4-ClassesetObjet/Lendemain.java @@ -3,31 +3,27 @@ public class Lendemain { private int mois; private int jour; - // Nombre de jours dans chaque mois (sans tenir compte des années bissextiles) - private static final int[] JOURS_PAR_MOIS = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + private static int[] JOURS_PAR_MOIS = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - // Constructeur public Lendemain(int annee, int mois, int jour) { this.annee = annee; this.mois = mois; this.jour = jour; } - // Méthode toString qui renvoie la date au format ISO 8601 public String toString() { return String.format("%04d-%02d-%02d", annee, mois, jour); } - // Méthode qui renvoie le lendemain public Lendemain lendemain() { int newJour = this.jour + 1; int newMois = this.mois; int newAnnee = this.annee; - if (newJour > JOURS_PAR_MOIS[this.mois - 1]) { // Si dépassement du dernier jour du mois + if (newJour > JOURS_PAR_MOIS[this.mois - 1]) { newJour = 1; newMois++; - if (newMois > 12) { // Si dépassement du mois de décembre + if (newMois > 12) { newMois = 1; newAnnee++; } @@ -36,8 +32,7 @@ public class Lendemain { return new Lendemain(newAnnee, newMois, newJour); } - // Méthode qui compare deux dates : - // Retourne -1 si this est avant autre, 0 si elles sont égales, 1 si this est après autre + public int compare(Lendemain autre) { if (this.annee != autre.annee) { return Integer.compare(this.annee, autre.annee); @@ -48,16 +43,15 @@ public class Lendemain { return Integer.compare(this.jour, autre.jour); } - // Méthode principale pour tester public static void main(String[] args) { Lendemain date = new Lendemain(2024, 2, 28); Lendemain lendemain = date.lendemain(); - System.out.println("Date actuelle : " + date); // Affichage : 2024-02-28 - System.out.println("Lendemain : " + lendemain); // Affichage : 2024-03-01 + System.out.println("Date actuelle : " + date); + System.out.println("Lendemain : " + lendemain); - // Test de la comparaison + //test Lendemain autreDate = new Lendemain(2024, 3, 1); - System.out.println("Comparaison : " + date.compare(autreDate)); // Affichage : -1 (car 28 février < 1 mars) + System.out.println("Comparaison : " + date.compare(autreDate)); } } diff --git a/DEV.2.1/TP/TP4-ClassesetObjet/Periode.java b/DEV.2.1/TP/TP4-ClassesetObjet/Periode.java new file mode 100644 index 0000000..a86499e --- /dev/null +++ b/DEV.2.1/TP/TP4-ClassesetObjet/Periode.java @@ -0,0 +1,52 @@ +public class Periode { + private int annee_deb; + private int mois_deb; + private int jour_deb; + private int annee_fin; + private int mois_fin; + private int jour_fin; + + private static int[] JOURS_PAR_MOIS = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + + public Periode(int annee_deb, int mois_deb, int jour_deb, int annee_fin, int mois_fin, int jour_fin) { + this.annee_deb = annee_deb; + this.mois_deb = mois_deb; + this.jour_deb = jour_deb; + + this.annee_fin = annee_fin; + this.mois_fin = mois_fin; + this.jour_fin = jour_fin; + } + + public String toString() { + return String.format("%04d-%02d-%02d - %04d-%02d-%02d", annee_deb, mois_deb, jour_deb, annee_fin, mois_fin, jour_fin); + } + + public Periode periode_plus() { + int newJour_fin = this.jour_fin + 1; + int newMois_fin = this.mois_fin; + int newAnnee_fin = this.annee_fin; + + if (newJour_fin > JOURS_PAR_MOIS[this.mois_fin - 1]) { + newJour_fin = 1; + newMois_fin++; + if (newMois_fin > 12) { + newMois_fin = 1; + newAnnee_fin++; + } + + } + + public int nb_jour(int periode) { + + } + + public static void main(String[] args) { + Periode vacances = new Periode(2025, 02, 17, 2025, 02, 21); + Periode periode_plus = vacances.periode_plus(); + + System.out.println("Votre période est de " + vacances); + System.out.println("Voici votre période prolongé : " + ); + + } +} \ No newline at end of file