public class Date { private int jour; private int mois; private int annee; public Date(int j, int m, int a) { this.jour = j; this.mois = m; this.annee = a; } public String toString() { return "" + this.annee + "-" + this.mois + "-" + this.jour; } public Date lendemain() { int[] joursParMois = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (this.jour == joursParMois[this.mois-1]) { if (this.mois == 12) { return new Date(1, 1, this.annee+1); } return new Date(1, this.mois+1, this.annee); } return new Date(this.jour+1, this.mois, this.annee); } public int getAnnee() { return this.annee; } public int getMois() { return this.mois; } public int getJour() { return this.jour; } public boolean dateInferieureA(Date aComparer) { return (this.annee < aComparer.getAnnee() || this.mois < aComparer.getMois() || this.jour < aComparer.getJour()); } public boolean dateSuperieureA(Date aComparer) { return (this.annee > aComparer.getAnnee() || this.mois > aComparer.getMois() || this.jour > aComparer.getJour()); } public boolean dateEgaleA(Date aComparer) { return (this.annee == aComparer.getAnnee() && this.mois == aComparer.getMois() && this.jour == aComparer.getJour()); } public String compareDates(Date aComparer) { /* Affiche si la date actuelle est inférieure, égale ou supérieure à la date aComparer */ if (this.dateEgaleA(aComparer)) { return this.toString() + " est égale à " + aComparer.toString() ; } if (this.dateInferieureA(aComparer)) { return this.toString() + " est inférieure à " + aComparer.toString() ; } return this.toString() + " est supérieure à " + aComparer.toString() ; } public static void main(String[] args) { Date d = new Date(15,10,2025); //System.out.println(d); Date lendemain = d.lendemain(); //System.out.println(lendemain); System.out.println(d.compareDates(new Date(17,9,2025))); } }