Bonjour tout le monde,
J'ai une méthode main qui envoie trois informations (jour, mois, année) à une classe que j'ai créé.
Cette clasee me renvoit simplement la date par rapport à ces trois informations envoyées.
Ma question :
Sant utiliser java.util.calendar, est-il possible d'envoyer un entier à la classe et augment la date du constructeur (car j'ai mis des valeurs pas défaut dans le constructeur de la date) et qu'elle me retourne la date augmenté de l'entier envoyé ?
Exemple :
Via clavier.lireInt() je demande :
"veuillez indiquer combien de jour voulez-vous additinner au 24 mai 2007", si je mets 4, j'obtiens 28 mai.
Merci d'avance pour votre aide.
Voici ce que j'ai déjà fait :
voici ma classe date (plus bas vous trouverez la classe main)
import java.util.Calendar;
public class Date
{
private int jour;
private int mois;
private int annee;
public Date()
{
jour = 1;
mois = 1;
annee = 2000;
}
public void setDate(int jour,int mois,int annee)
{
if ((jour<1)||(jour>31))
{
this.jour=1;
}
else
{
this.jour = jour;
}
if((mois<1)||(mois>12))
{
this.mois = 1;
}
else
{
this.mois = mois;
}
if(this.jour>nbJoursMois(this.mois,this.annee))
{
this.jour = nbJoursMois(this.mois,this.annee);
System.out.println("vrai");
}
this.annee = annee;
}
public String toFormat1()
{
String s="";
if(this.jour<10)
{
s+= "0"+this.jour +"/";
}
else
{
s+= this.jour+"/";
}
if(this.mois <10)
{
s+= "0"+this.mois+"/";
}
else
{
s+=this.mois+"/";
}
s+= this.annee;
return s;
}
public String toFormat2()
{
String s="";
if(this.jour<10)
{
s+= "0" + this.jour+"/";
}
else
{
s+= this.jour+"/";
}
switch(mois)
{
case 1: s+= "Janvier"+"/";break;
case 2: s+= "fevrier"+"/";break;
case 3: s+= "mars"+"/";break;
case 4: s+= "avril"+"/";break;
case 5: s+= "mai"+"/";break;
case 6: s+= "juin"+"/";break;
case 7: s+= "juillet"+"/";break;
case 8: s+= "aout"+"/";break;
case 9: s+= "septembre"+"/";break;
case 10: s+= "octobre"+"/";break;
case 11: s+= "novembre"+"/";break;
case 12: s+= "decembre"+"/";break;
}
s+= this.annee;
return s;
}
public int nbJoursMois(int mois, int annee)
{
int nbJourMois = 1;
switch(mois)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:nbJourMois =31;break;
case 4:
case 6:
case 9:
case 11:nbJourMois = 30;break;
case 2:
{
if (anneeBissextile(annee))
{
nbJourMois = 29;
}
else
{
nbJourMois = 28;
}
}
}
return nbJourMois;
}
private boolean anneeBissextile(int annee)
{
return annee%4==0 && (annee%100!=0 || annee%400==0);
}
}
La méthode main :
public class DateTest
{
public static void main(String [] args)
{
Date maDate = new Date();
System.out.println("La date du constructeur : " + maDate.toFormat1());
maDate.setDate(31,2,2007);
System.out.println("La date d'aujourd'hui au format 1 : " + maDate.toFormat1());
System.out.println("La date d'aujourd'hui au format 2 : " + maDate.toFormat2());
}
}