Delete DEV.2.1/TP/Lendemain.java
This commit is contained in:
@@ -1,63 +0,0 @@
|
|||||||
public class Lendemain {
|
|
||||||
private int annee;
|
|
||||||
private int mois;
|
|
||||||
private int jour;
|
|
||||||
|
|
||||||
// Nombre de jours dans chaque mois (sans tenir compte des années bissextiles)
|
|
||||||
private static final int[] JOURS_PAR_MOIS = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
|
|
||||||
|
|
||||||
// Constructeur
|
|
||||||
public Lendemain(int annee, int mois, int jour) {
|
|
||||||
this.annee = annee;
|
|
||||||
this.mois = mois;
|
|
||||||
this.jour = jour;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Méthode toString qui renvoie la date au format ISO 8601
|
|
||||||
public String toString() {
|
|
||||||
return String.format("%04d-%02d-%02d", annee, mois, jour);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Méthode qui renvoie le lendemain
|
|
||||||
public Lendemain lendemain() {
|
|
||||||
int newJour = this.jour + 1;
|
|
||||||
int newMois = this.mois;
|
|
||||||
int newAnnee = this.annee;
|
|
||||||
|
|
||||||
if (newJour > JOURS_PAR_MOIS[this.mois - 1]) { // Si dépassement du dernier jour du mois
|
|
||||||
newJour = 1;
|
|
||||||
newMois++;
|
|
||||||
if (newMois > 12) { // Si dépassement du mois de décembre
|
|
||||||
newMois = 1;
|
|
||||||
newAnnee++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Lendemain(newAnnee, newMois, newJour);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Méthode qui compare deux dates :
|
|
||||||
// Retourne -1 si this est avant autre, 0 si elles sont égales, 1 si this est après autre
|
|
||||||
public int compare(DatePerso autre) {
|
|
||||||
if (this.annee != autre.annee) {
|
|
||||||
return Integer.compare(this.annee, autre.annee);
|
|
||||||
}
|
|
||||||
if (this.mois != autre.mois) {
|
|
||||||
return Integer.compare(this.mois, autre.mois);
|
|
||||||
}
|
|
||||||
return Integer.compare(this.jour, autre.jour);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Méthode principale pour tester
|
|
||||||
public static void main(String[] args) {
|
|
||||||
Lendemain date = new Lendemain(2024, 2, 28);
|
|
||||||
Lendemain lendemain = date.lendemain();
|
|
||||||
|
|
||||||
System.out.println("Date actuelle : " + date); // Affichage : 2024-02-28
|
|
||||||
System.out.println("Lendemain : " + lendemain); // Affichage : 2024-03-01
|
|
||||||
|
|
||||||
// Test de la comparaison
|
|
||||||
Lendemain autreDate = new Lendemain(2024, 3, 1);
|
|
||||||
System.out.println("Comparaison : " + date.compare(autreDate)); // Affichage : -1 (car 28 février < 1 mars)
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user