public class DateAffectation { /* 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); } ///////////////////////////////////////////////// /* Affectation de la Date cible */ /* avec les valeurs stockees dans les champs */ /* de la date source */ static void affectation(Date cible,Date source) { cible.annee = source.annee; cible.mois = source.mois; cible.jour = source.jour; } ///////////////////////////////////////////////// /* Programme principal */ public static void main(String [] args) { Date d1; Date d2 = new Date(); Ecran.afficherln("Veuillez saisir votre date"); d1 = saisirDate(); affectation(d2,d1); Ecran.afficher("La date saisie est: "); afficher(d1); Ecran.sautDeLigne(); Ecran.afficher("La date copiee est: "); afficher(d2); Ecran.sautDeLigne(); } }