1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
class Compteur
{
private Compteur cptEnfant = null;
private int compteur = 0;
private int minValeur;
private int maxValeur;
privqte String unite;
Compteur(int min, int max, String unite) {
Compteur(min, max, unite, null);
}
Compteur(int min, int max, String unite, Compteur cptEnfant) {
/* Validation des valeurs */
this.minValeur = min;
this.maxValeur = max;
this.unite = unite;
this.cptEnfant = cptEnfant;
compteur = minValeur;
}
boolean inc() {
boolean report = true;
if (cptEnfant != null) {
report = cptEnfant.inc();
}
if (report) {
if ( ++compteur > maxValeur) {
compteur = minValeur;
}
else {
report = false;
}
}
return report;
}
void affiche()
{
System.out.print(unite + " " + compteur);
if (cptEnfant != null) {
cptEnfant.affiche();
}
}
public static void main(String[] args) {
int i;
Compteu c;
c = new Compteur( 1, 365, "Jour",
new Compteur( 0, 23, "Minute",
Compteur( 0, 59, "Minute")));
c.affiche();
for (i = 1; i < 10000; i++) {
c.inc();
}
c.affiche();
}
} |
Partager