update
This commit is contained in:
@@ -3,31 +3,27 @@ public class Lendemain {
|
||||
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 };
|
||||
private static 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
|
||||
if (newJour > JOURS_PAR_MOIS[this.mois - 1]) {
|
||||
newJour = 1;
|
||||
newMois++;
|
||||
if (newMois > 12) { // Si dépassement du mois de décembre
|
||||
if (newMois > 12) {
|
||||
newMois = 1;
|
||||
newAnnee++;
|
||||
}
|
||||
@@ -36,8 +32,7 @@ public class Lendemain {
|
||||
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(Lendemain autre) {
|
||||
if (this.annee != autre.annee) {
|
||||
return Integer.compare(this.annee, autre.annee);
|
||||
@@ -48,16 +43,15 @@ public class Lendemain {
|
||||
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
|
||||
System.out.println("Date actuelle : " + date);
|
||||
System.out.println("Lendemain : " + lendemain);
|
||||
|
||||
// Test de la comparaison
|
||||
//test
|
||||
Lendemain autreDate = new Lendemain(2024, 3, 1);
|
||||
System.out.println("Comparaison : " + date.compare(autreDate)); // Affichage : -1 (car 28 février < 1 mars)
|
||||
System.out.println("Comparaison : " + date.compare(autreDate));
|
||||
}
|
||||
}
|
||||
|
52
DEV.2.1/TP/TP4-ClassesetObjet/Periode.java
Normal file
52
DEV.2.1/TP/TP4-ClassesetObjet/Periode.java
Normal file
@@ -0,0 +1,52 @@
|
||||
public class Periode {
|
||||
private int annee_deb;
|
||||
private int mois_deb;
|
||||
private int jour_deb;
|
||||
private int annee_fin;
|
||||
private int mois_fin;
|
||||
private int jour_fin;
|
||||
|
||||
private static int[] JOURS_PAR_MOIS = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
|
||||
|
||||
public Periode(int annee_deb, int mois_deb, int jour_deb, int annee_fin, int mois_fin, int jour_fin) {
|
||||
this.annee_deb = annee_deb;
|
||||
this.mois_deb = mois_deb;
|
||||
this.jour_deb = jour_deb;
|
||||
|
||||
this.annee_fin = annee_fin;
|
||||
this.mois_fin = mois_fin;
|
||||
this.jour_fin = jour_fin;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return String.format("%04d-%02d-%02d - %04d-%02d-%02d", annee_deb, mois_deb, jour_deb, annee_fin, mois_fin, jour_fin);
|
||||
}
|
||||
|
||||
public Periode periode_plus() {
|
||||
int newJour_fin = this.jour_fin + 1;
|
||||
int newMois_fin = this.mois_fin;
|
||||
int newAnnee_fin = this.annee_fin;
|
||||
|
||||
if (newJour_fin > JOURS_PAR_MOIS[this.mois_fin - 1]) {
|
||||
newJour_fin = 1;
|
||||
newMois_fin++;
|
||||
if (newMois_fin > 12) {
|
||||
newMois_fin = 1;
|
||||
newAnnee_fin++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int nb_jour(int periode) {
|
||||
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
Periode vacances = new Periode(2025, 02, 17, 2025, 02, 21);
|
||||
Periode periode_plus = vacances.periode_plus();
|
||||
|
||||
System.out.println("Votre période est de " + vacances);
|
||||
System.out.println("Voici votre période prolongé : " + );
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user