public class DateTestEgalite { /* Type agrege de stockage d'une date */ /* formee d'un numero de jour, d'un numero */ /* de mois et d'un numero d'annee */ static class Date { int jour = 1; int mois = 1; int annee = 1901; }; /* Lecture au clavier et retour d'une date */ static Date saisirDate() { Date d = new Date(); Ecran.afficher("Jour ? "); d.jour = Clavier.saisirInt(); Ecran.afficher("Mois ? "); d.mois = Clavier.saisirInt(); Ecran.afficher("Annee ? "); d.annee = Clavier.saisirInt(); return d; } /* Affichage d'une date au format jj/mm/aaaa */ static void afficher(Date d) { if ( d.jour < 10 ) { Ecran.afficher("0"); } Ecran.afficher(d.jour); Ecran.afficher("/"); if ( d.mois < 10 ) { Ecran.afficher("0"); } Ecran.afficher(d.mois); Ecran.afficher("/"); if ( d.annee < 10 ) { Ecran.afficher("0"); } if ( d.annee < 100 ) { Ecran.afficher("0"); } if ( d.annee < 1000 ) { Ecran.afficher("0"); } Ecran.afficher(d.annee); } ///////////////////////////////////////////////// /* Test de l'egalite de deux Date */ static boolean testEgalite(Date d1,Date d2) { boolean res; if ( ( d1.jour == d2.jour ) && ( d1.mois == d2.mois ) && ( d1.annee == d2.annee ) ) { res = true; } else { res = false; } return res; } ///////////////////////////////////////////////// /* Programme principal */ public static void main(String [] args) { Date d1; Date d2; boolean egalite; Ecran.afficherln("SVP, premiere date"); d1 = saisirDate(); Ecran.afficherln("SVP, deuxieme date"); d2 = saisirDate(); egalite = testEgalite(d1,d2); if ( egalite ) { Ecran.afficherln("Les deux dates sont les memes"); } else { Ecran.afficherln("Les deux dates sont differentes"); } } }