class Departement { String nom; int nbHabitants; float superficie; Departement(String nom, int nbHabitants, float superficie) { this.nom = nom; this.nbHabitants = nbHabitants; this.superficie = superficie; } //// On peut aussi faire un constructeur sans avoir besoin du "this" //Departement(String n, int nb, float s) //{ // nom = n; // nbHabitants = nb; // superficie = s; //} // Le constructeur pour la copie Departement(Departement d) { nom = d.nom; nbHabitants = d.nbHabitants; superficie = d.superficie; } //// Le constructeur pour la copie --- A NOTER qu'on PEUT ; MAIS ce N'est PAS nécessaire laisser le "this" //Departement(Departement d) //{ // this.nom = d.nom; // this.nbHabitants = d.nbHabitants; // this.superficie = d.superficie; //} } // il n'y a pas besoin de faire une classe (c'est-à-dire un type structuré) pour la France. // Ca aurait un sens si on devait faire une structure Pays et dans ce cas on dirait que la France est une variable de type Pays // Tous les pays n'ayant pas forcément un découpage en Département, ici on ne fera donc pas de classe ; on peut s'en sortir sans // voir comment on procède dans "setup" Departement saisirDepartement() { String nom; int nbHabitants; float superficie; Departement d; do { nom = askString("Veuillez saisir le nom du département -- non nul"); } while(nom.equals("")); do { nbHabitants = askInteger("Veuillez saisir le nombre d'habitants du département (>0)"); } while(nbHabitants <= 0); do { superficie = askFloat("Veuillez saisir la superficie du département en km^2 (>0)"); } while(superficie <= 0); d = new Departement(nom, nbHabitants, superficie); // ici je crée le département ! return d; } // Attention, cette fonction est là en BONUS (cf ce que j'explique à la fin du setup). void afficheDepartement(Departement d) { println(d.nom+"\t-\t"+d.nbHabitants+"\t-\t"+d.superficie); } void setup() { // "final" sert à dire que c'est une constante final int nbDepartements = 101; Departement[] France = new Departement[nbDepartements]; // attention ici nous n'avons créé qu'un tableau permettant d'accueillir des "Département" // pour l'instant aucune case du tableau "France" ne représente un département // il faudra avoir mis dedans soit un "Departement" créé au préalable avec un "new", c.a.d. "new Departement( ... )" for(int i = 0 ; i < nbDepartements; i++) // on notera que je ne peux pas utiliser le "for (Departement d: France)" car comme expliqué ci-dessus, le tableau est actuellement vide { France[i] = saisirDepartement(); } // Ici le tableau est plein (si vous avez réalisé la saisie des 101 départements ... // et vous pourriez utiliser le "for (Departement d: France)" pour faire différentes opérations // Bonus : pour illustrer je vais donc ajouter une fonction afficheDepartement et l'utilisation de l'affichage // PS : si vous avez la flême pour tester, modifier par exemple la constante nbDepartements en la mettant à 3 // c'est ce que je vais faire pour mon test for (Departement d: France) { afficheDepartement(d); } }