Bonjour,
par avance je suis désolé si le sujet a déjà été posté mais je n'ai pas trouvé de réponse à mon problème en cherchant.
Voilà : j'ai déclaré une variable date_naissance de type GregorianCalendar dans une classe "Adherent".
J'ai vu qu'on pouvait construire un objet de ce type avec 3 paramètres :
GregorianCalendar(int year, int month, int date)
Constructs a GregorianCalendar with the given date set in the default time zone with the default locale.
J'ai donc 3 paramètres dans mon constructeur qui me permettent de construire la date de naissance. Ensuite, je surcharge toString pour afficher un adherent comme je veux. Seulement, l'affichage foire complètement.
Est-ce qu'il y a quelque chose qui je fais pas bien ? Peut-être que j'utilise mal le type GregorianCalendar ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
package appliadac;
 
import java.util.ArrayList;
import java.util.GregorianCalendar;
 
public class Adherent {
	private int numero;
	private String nom;
	private String prenom;
	private String ville;
	private GregorianCalendar date_naissance;
	private static ArrayList<Adherent> TousLesAdherents = new ArrayList<Adherent> ();
 
	public Adherent(int numeroN, String nomN, String prenomP, String villeV, int yearY, int monthM, int dayD) {
		numero = numeroN;
		nom = nomN;
		prenom = prenomP;
		ville = villeV;
		date_naissance = new GregorianCalendar(yearY, monthM, dayD);
		TousLesAdherents.add(this);
	}
 
 
	public static void affichertout() {
		for(Adherent A : TousLesAdherents) {
			System.out.println(A);
		}
	}
 
	public String toString() {
		return "N°" + numero + " : " + nom + " " + prenom + " residant a " + ville + " (ne le " + date_naissance + ")";
	}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
package appliadac;
 
public class Application {
 
	public static void main(String[] args) {
		new Adherent(1, "dupond", "bob", "paris", 89, 1, 03);
		new Adherent(2, "durant", "alfred", "versailles", 90, 7, 21);
		Adherent.affichertout();
	}
}
Voici ce que donne l'exécution :
N°1 : dupond bob residant a paris (ne le java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Paris",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=?,YEAR=89,MONTH=1,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=3,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=?,ZONE_OFFSET=?,DST_OFFSET=?])
N°2 : durant alfred residant a versailles (ne le java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Paris",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=?,YEAR=90,MONTH=7,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=21,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=?,ZONE_OFFSET=?,DST_OFFSET=?])