/* Manipulations sur une classe date */ public class ManipulationDates { /* Type agrege de stockage des informations */ /* relatives a une date codee sous la forme */ /* jour, mois, annee */ static class Date { int j = 1; int m = 1; int a = 1901; }; /* Programme principal */ public static void main(String [] args) { Date dt = new Date(); int nbJours; Ecran.afficherln("SVP, j, m & a?"); dt.j = Clavier.saisirInt(); dt.m = Clavier.saisirInt(); dt.a = Clavier.saisirInt(); switch (dt.m) { case 2 : if ( ( (dt.a%400) == 0 ) || ( ( (dt.a%4) == 0 ) && ( (dt.a%100) != 0 ) ) ) { nbJours = 29; } else { nbJours = 28; } break; case 4 : case 6 : case 9 : case 11 : nbJours = 30; break; default : nbJours = 31; break; } dt.j = dt.j+1; if ( dt.j > nbJours ) { dt.j = 1; dt.m = dt.m+1; if ( dt.m > 12 ) { dt.m = 1; dt.a = dt.a+1; } } Ecran.afficherln(dt.j,"/",dt.m,"/",dt.a); } }